Blame


1 fb1a36c0 2022-01-09 op .\" Copyright (c) 2021 Omar Polo <op@omarpolo.com>
2 fb1a36c0 2022-01-09 op .\"
3 fb1a36c0 2022-01-09 op .\" Permission to use, copy, modify, and distribute this software for any
4 fb1a36c0 2022-01-09 op .\" purpose with or without fee is hereby granted, provided that the above
5 fb1a36c0 2022-01-09 op .\" copyright notice and this permission notice appear in all copies.
6 fb1a36c0 2022-01-09 op .\"
7 fb1a36c0 2022-01-09 op .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8 fb1a36c0 2022-01-09 op .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9 fb1a36c0 2022-01-09 op .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10 fb1a36c0 2022-01-09 op .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11 fb1a36c0 2022-01-09 op .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
12 fb1a36c0 2022-01-09 op .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
13 fb1a36c0 2022-01-09 op .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14 fb1a36c0 2022-01-09 op .\"
15 2afde960 2022-11-23 op .Dd $Mdocdate: November 23 2022 $
16 fb1a36c0 2022-01-09 op .Dt KAMIFTP 1
17 fb1a36c0 2022-01-09 op .Os
18 fb1a36c0 2022-01-09 op .Sh NAME
19 fb1a36c0 2022-01-09 op .Nm kamiftp
20 fb1a36c0 2022-01-09 op .Nd 9p client
21 fb1a36c0 2022-01-09 op .Sh SYNOPSIS
22 fb1a36c0 2022-01-09 op .Nm
23 fb1a36c0 2022-01-09 op .Op Fl C Ar cert
24 fb1a36c0 2022-01-09 op .Op Fl K Ar key
25 df9bb54d 2022-11-23 op .Op Fl o Ar output
26 9f134f93 2022-11-23 op .Oo 9p:// Oc Ns Oo Ar user Ns @ Oc Ns Ar host Ns Oo : Ns Ar port Oc Ns Op / Ns Ar path
27 fb1a36c0 2022-01-09 op .Sh DESCRIPTION
28 fb1a36c0 2022-01-09 op .Nm
29 fb1a36c0 2022-01-09 op is a
30 fb1a36c0 2022-01-09 op .Xr 9p 7
31 fb1a36c0 2022-01-09 op client.
32 14ae3944 2022-11-23 op If
33 14ae3944 2022-11-23 op .Ar path
34 14ae3944 2022-11-23 op names a remote file,
35 14ae3944 2022-11-23 op .Nm
36 14ae3944 2022-11-23 op downloads it in the current directory and exit, otherwise changes the
37 14ae3944 2022-11-23 op remote working directory and starts accepting commands.
38 fb1a36c0 2022-01-09 op .Pp
39 fb1a36c0 2022-01-09 op The options are as follows:
40 fb1a36c0 2022-01-09 op .Bl -tag -width Ds
41 3c615b61 2022-01-30 op If used,
42 fb1a36c0 2022-01-09 op .Fl C
43 3c615b61 2022-01-30 op is mandatory.
44 fb1a36c0 2022-01-09 op .It Fl C Ar certificate
45 ab9f44f7 2022-11-23 op Connect with TLS to the remote server and use the given
46 fb1a36c0 2022-01-09 op .Ar certificate
47 ab9f44f7 2022-11-23 op during the TLS handsahke.
48 fb1a36c0 2022-01-09 op .It Fl K Ar key
49 fb1a36c0 2022-01-09 op Specify the path to the client certificate
50 fb1a36c0 2022-01-09 op .Ar key
51 fb1a36c0 2022-01-09 op to be used during the TLS handshake.
52 3b95ae81 2022-01-30 op If not given, the file passed to
53 3b95ae81 2022-01-30 op .Fl C
54 3b95ae81 2022-01-30 op will be used.
55 ab9f44f7 2022-11-23 op If used,
56 ab9f44f7 2022-11-23 op .Fl C
57 ab9f44f7 2022-11-23 op must be provided too.
58 df9bb54d 2022-11-23 op .It Fl o Ar output
59 df9bb54d 2022-11-23 op When fetching the file specified to the command line,
60 df9bb54d 2022-11-23 op save its content in
61 df9bb54d 2022-11-23 op .Ar output .
62 df9bb54d 2022-11-23 op To write the content to standard output, use
63 df9bb54d 2022-11-23 op .Sq - .
64 df9bb54d 2022-11-23 op It's an error to specify
65 df9bb54d 2022-11-23 op .Fl o
66 df9bb54d 2022-11-23 op when not givin a
67 df9bb54d 2022-11-23 op .Ar path
68 df9bb54d 2022-11-23 op or when
69 df9bb54d 2022-11-23 op .Ar path
70 df9bb54d 2022-11-23 op names a directory.
71 fb1a36c0 2022-01-09 op .El
72 fb1a36c0 2022-01-09 op .Pp
73 55e8c065 2022-11-23 op .Nm
74 55e8c065 2022-11-23 op parses the input similarly to
75 55e8c065 2022-11-23 op .Xr sh .
76 55e8c065 2022-11-23 op Words are splitted on spaces, multiple spaces are collapsed into one.
77 55e8c065 2022-11-23 op Quoting with
78 55e8c065 2022-11-23 op .Sq '
79 55e8c065 2022-11-23 op or
80 55e8c065 2022-11-23 op .Sq \&"
81 55e8c065 2022-11-23 op can be used to preserve spaces and other quotes.
82 55e8c065 2022-11-23 op .Sq \e
83 55e8c065 2022-11-23 op can be used to quote the following character.
84 55e8c065 2022-11-23 op No special meaning is given to
85 55e8c065 2022-11-23 op .Sq \e
86 55e8c065 2022-11-23 op sequences
87 55e8c065 2022-11-23 op .Po i.e.\& Sq \en
88 55e8c065 2022-11-23 op is just the
89 55e8c065 2022-11-23 op .Sq n
90 55e8c065 2022-11-23 op character
91 55e8c065 2022-11-23 op .Pc .
92 55e8c065 2022-11-23 op .Pp
93 fb1a36c0 2022-01-09 op The following commands are recognized by
94 fb1a36c0 2022-01-09 op .Nm :
95 fb1a36c0 2022-01-09 op .Bl -tag -width Ds
96 fb1a36c0 2022-01-09 op .It Ic bell Oo Cm on | off Oc
97 fb1a36c0 2022-01-09 op Request terminal to sound a bell after each command.
98 fb1a36c0 2022-01-09 op Without arguments toggle the current state.
99 fb1a36c0 2022-01-09 op .It Ic bye
100 fb1a36c0 2022-01-09 op Terminate the session.
101 fb1a36c0 2022-01-09 op Synomym of
102 fb1a36c0 2022-01-09 op .Ic quit .
103 11cd7416 2022-01-16 op .It Ic cd Ar remote-path
104 11cd7416 2022-01-16 op Change the working directory on the remote machine to
105 11cd7416 2022-01-16 op .Ar remote-path .
106 11cd7416 2022-01-16 op .It Ic edit Ar remote-path
107 11cd7416 2022-01-16 op Download
108 11cd7416 2022-01-16 op .Ar remote-path
109 11cd7416 2022-01-16 op and open it with the preferred editor
110 11cd7416 2022-01-16 op .Po
111 11cd7416 2022-01-16 op .Ev VISUAL
112 11cd7416 2022-01-16 op or
113 11cd7416 2022-01-16 op .Ev EDITOR
114 11cd7416 2022-01-16 op with
115 11cd7416 2022-01-16 op .Xr ed 1
116 11cd7416 2022-01-16 op as fallback
117 11cd7416 2022-01-16 op .Pc
118 11cd7416 2022-01-16 op then attempt to re-upload it.
119 11cd7416 2022-01-16 op .It Ic get Ar remote-file Op Ar local-file
120 11cd7416 2022-01-16 op Fetch
121 11cd7416 2022-01-16 op .Ar remote-file
122 11cd7416 2022-01-16 op and save it locally as
123 11cd7416 2022-01-16 op .Ar local-file .
124 11cd7416 2022-01-16 op If
125 11cd7416 2022-01-16 op .Ar local-file
126 11cd7416 2022-01-16 op is not given, use the file name from
127 11cd7416 2022-01-16 op .Ar remote-file .
128 5565d021 2022-01-16 op .It Ic hexdump Oo Cm on | off Oc
129 5565d021 2022-01-16 op Print the packets sent from/to the server.
130 5565d021 2022-01-16 op Without arguments, toggle the current state.
131 11cd7416 2022-01-16 op .It Ic lcd Op Ar local-directory
132 11cd7416 2022-01-16 op Change the local current working directory to
133 11cd7416 2022-01-16 op .Ar local-directory
134 11cd7416 2022-01-16 op or the
135 11cd7416 2022-01-16 op .Ev HOME
136 11cd7416 2022-01-16 op if not given.
137 11cd7416 2022-01-16 op .It Ic lpwd
138 11cd7416 2022-01-16 op Print the local working directory.
139 9c9e60d1 2022-11-23 op .It Ic ls Op Ar path
140 9c9e60d1 2022-11-23 op List the file in the remote current working directory or
141 9c9e60d1 2022-11-23 op .Ar path
142 9c9e60d1 2022-11-23 op if provided.
143 11cd7416 2022-01-16 op .It Ic page Ar remote-file
144 11cd7416 2022-01-16 op Download
145 11cd7416 2022-01-16 op .Ar remote-file
146 11cd7416 2022-01-16 op and open it with the
147 11cd7416 2022-01-16 op .Ev PAGER
148 11cd7416 2022-01-16 op .Pq Xr less 1 by default .
149 1c9ab7cf 2022-01-29 op .It Ic pipe Ar remote-file Ar cmd Op Ar args...
150 1c9ab7cf 2022-01-29 op Fetch
151 1c9ab7cf 2022-01-29 op .Ar remote-file
152 1c9ab7cf 2022-01-29 op and pass it as standard input for
153 1c9ab7cf 2022-01-29 op .Ar cmd
154 1c9ab7cf 2022-01-29 op (with optional
155 1c9ab7cf 2022-01-29 op .Ar args Ns ).
156 11cd7416 2022-01-16 op .It Ic put Ar local-file Op Ar remote-file
157 11cd7416 2022-01-16 op Upload
158 11cd7416 2022-01-16 op .Ar local-file
159 11cd7416 2022-01-16 op to
160 11cd7416 2022-01-16 op .Ar remote-file .
161 11cd7416 2022-01-16 op If
162 11cd7416 2022-01-16 op .Ar remote-file
163 11cd7416 2022-01-16 op is not given,
164 11cd7416 2022-01-16 op use the file name from
165 11cd7416 2022-01-16 op .Ar local-file .
166 fb1a36c0 2022-01-09 op .It Ic quit
167 fb1a36c0 2022-01-09 op Terminate the session.
168 fb1a36c0 2022-01-09 op Synomym of
169 fb1a36c0 2022-01-09 op .Ic bye .
170 424338c2 2022-01-29 op .It Ic rename Ar remote-file Ar new-remote-name
171 13b8bb0a 2022-01-17 op Renames
172 13b8bb0a 2022-01-17 op .Ar remote-file
173 13b8bb0a 2022-01-17 op to
174 13b8bb0a 2022-01-17 op .Ar new-remote-name
175 13b8bb0a 2022-01-17 op on the remote server.
176 f99c17f9 2022-11-23 op .It Ic rm Ar
177 f99c17f9 2022-11-23 op Remove the remote files.
178 fb1a36c0 2022-01-09 op .It Ic verbose Oo Cm on | off Oc
179 fb1a36c0 2022-01-09 op Print verbose information.
180 fb1a36c0 2022-01-09 op Without arguments toggle the current state.
181 fb1a36c0 2022-01-09 op .El
182 11cd7416 2022-01-16 op .Sh ENVIRONMENT
183 11cd7416 2022-01-16 op The following environment variables are inspected:
184 11cd7416 2022-01-16 op .Bl -tag -width Ds
185 11cd7416 2022-01-16 op .It Ev HOME
186 11cd7416 2022-01-16 op The user login directory.
187 11cd7416 2022-01-16 op .It Ev PAGER
188 7d4a725d 2022-01-17 op The pager to use,
189 11cd7416 2022-01-16 op .Xr less 1
190 11cd7416 2022-01-16 op by default.
191 16012c8f 2022-10-07 op .It Ev VISUAL , Ev EDITOR
192 11cd7416 2022-01-16 op The program used to edit files.
193 11cd7416 2022-01-16 op .Ev VISUAL
194 11cd7416 2022-01-16 op is inspected first,
195 11cd7416 2022-01-16 op .Ev EDITOR
196 11cd7416 2022-01-16 op as a fallback.
197 11cd7416 2022-01-16 op If both are undefined,
198 11cd7416 2022-01-16 op .Xr ed 1
199 11cd7416 2022-01-16 op is given some love.
200 6cd1a16b 2022-10-07 op .It Ev USER
201 6cd1a16b 2022-10-07 op Default login, used if no
202 6cd1a16b 2022-10-07 op .Ar user
203 6cd1a16b 2022-10-07 op is given on the command line.
204 11cd7416 2022-01-16 op .El
205 fb1a36c0 2022-01-09 op .Sh SEE ALSO
206 fb1a36c0 2022-01-09 op .Xr 9p 7 ,
207 fb1a36c0 2022-01-09 op .Xr kamid 8
208 fb1a36c0 2022-01-09 op .Sh AUTHORS
209 fb1a36c0 2022-01-09 op The
210 fb1a36c0 2022-01-09 op .Nm
211 fb1a36c0 2022-01-09 op utility was written by
212 fb1a36c0 2022-01-09 op .An Omar Polo Aq Mt op@omarpolo.com .