1 | .\" @(#) kermit.1 8.0.208 2003/03/14 Columbia University |
---|
2 | .TH KERMIT 1 "MARCH 2003" "User Manuals" |
---|
3 | .na |
---|
4 | .SH NAME |
---|
5 | kermit \- |
---|
6 | .B C-Kermit 8.0: |
---|
7 | transport- and platform-independent |
---|
8 | interactive and scriptable communications software. |
---|
9 | .IP |
---|
10 | |
---|
11 | This document is intended to give the beginner sufficient information to make |
---|
12 | basic (if not advanced) use of C-Kermit 8.0. Although it might be rather long |
---|
13 | for a Unix manual page, it's still far shorter than the C-Kermit manual, which |
---|
14 | should be consulted for advanced topics such as customization, character-sets, |
---|
15 | scripting, etc. We also attempt to provide a clear structural overview of |
---|
16 | C-Kermit's many capabilities, functional areas, states, and modes and their |
---|
17 | interrelation, that should be helpful to beginners and veterans alike, as well |
---|
18 | as to those upgrading to version 8.0 from earlier releases. |
---|
19 | .PP |
---|
20 | This document is also available as a Web page at: |
---|
21 | .IP |
---|
22 | http://www.columbia.edu/kermit/ckututor.html |
---|
23 | .SH DESCRIPTION |
---|
24 | C-Kermit is an all-purpose communications software package from the Kermit |
---|
25 | Project at Columbia University that: |
---|
26 | .PP |
---|
27 | .nf |
---|
28 | \(bu Is portable to many platforms, Unix and non-Unix alike. |
---|
29 | .br |
---|
30 | \(bu Can make both serial and network connections. |
---|
31 | .br |
---|
32 | \(bu Can conduct interactive terminal sessions over its connection. |
---|
33 | .br |
---|
34 | \(bu Can transfer text or binary files over the same connection. |
---|
35 | .br |
---|
36 | \(bu Can convert character sets in the terminal session. |
---|
37 | .br |
---|
38 | \(bu Can convert character sets during text-file file transfer. |
---|
39 | .br |
---|
40 | \(bu Is customizable in every aspect of its operation. |
---|
41 | .fi |
---|
42 | .PP |
---|
43 | C-Kermit is a modem program, a Telnet client, an Rlogin client, an FTP |
---|
44 | client, an HTTP client, and on selected platforms, also an X.25 client. It |
---|
45 | can make its own secure Internet connections using IETF-approved security |
---|
46 | methods including Kerberos IV, Kerberos V, SSL/TLS, and SRP and it can also |
---|
47 | make SSH connections through your external SSH client application. It can |
---|
48 | be the far-end file-transfer or client/server partner of your desktop |
---|
49 | Kermit client. It can also accept incoming dialed and network connections. |
---|
50 | It can even be installed as an Internet service on its own standard TCP |
---|
51 | socket, 1649 [RFC2839, RFC2840]. |
---|
52 | .PP |
---|
53 | And perhaps most important, everything you can do "by hand" (interactively) |
---|
54 | with C-Kermit, can be "scripted" (automated) using its built-in |
---|
55 | cross-platform transport-independent script programming language, which |
---|
56 | happens to be identical to its interactive command language. |
---|
57 | .PP |
---|
58 | This manual page offers an overview of C-Kermit 8.0 for Unix ("Unix" is an |
---|
59 | operating system family that includes AIX, DG/UX, FreeBSD, HP-UX, IRIX, |
---|
60 | Linux, Mac OS X, NetBSD, OpenBSD, Open Server, Open Unix, QNX, Solaris, |
---|
61 | SunOS, System V R3, System V R4, Tru64 Unix, Unixware, Xenix, and many |
---|
62 | others). For thorough coverage, please consult the published C-Kermit |
---|
63 | manual and supplements (see DOCUMENTATION below). For further information |
---|
64 | about C-Kermit, Kermit software for other platforms, and Kermit manuals, |
---|
65 | visit the Kermit Project website: |
---|
66 | .PP |
---|
67 | http://www.columbia.edu/kermit/ |
---|
68 | .PP |
---|
69 | This is a longer-than-average manual page, and yet it barely scratches the |
---|
70 | surface. Don't be daunted. C-Kermit is a large and complex package, |
---|
71 | evolving over decades of practice and experience, but that doesn't mean |
---|
72 | it's hard to learn or use. Its most commonly used functions are explained |
---|
73 | here with pointers to additional information elsewhere. |
---|
74 | .SH SYNOPSIS |
---|
75 | .B kermit [ |
---|
76 | .I filename |
---|
77 | .B ] [ |
---|
78 | .I options |
---|
79 | .B ] [ {=,--,+} |
---|
80 | .I text |
---|
81 | .B ] ] |
---|
82 | .PP |
---|
83 | or: |
---|
84 | .PP |
---|
85 | .B kermit |
---|
86 | .I URL |
---|
87 | .PP |
---|
88 | If the first command-line argument is the name of a file, interactive-mode |
---|
89 | commands are executed from the file. The '=' (or "--") argument tells |
---|
90 | Kermit not to parse the remainder of the command line, but to make the |
---|
91 | words following '=' available as \e%1, \e%2, ... \e%9. The "+" argument is |
---|
92 | like "=" but for use in "kerbang scripts" (explained below). A second |
---|
93 | command-line format allows the one and only argument to be a Telnet, FTP, |
---|
94 | HTTP, or IKSD URL. |
---|
95 | .PP |
---|
96 | Order of execution: |
---|
97 | .TP |
---|
98 | 1. |
---|
99 | The command file (if any). |
---|
100 | .TP |
---|
101 | .nf |
---|
102 | 2. |
---|
103 | The initialization file, if any, unless suppressed with -Y. |
---|
104 | .fi |
---|
105 | .TP |
---|
106 | 3. |
---|
107 | The customization file (if it is executed by the initialization file). |
---|
108 | .TP |
---|
109 | 4. |
---|
110 | The command-line URL (if any, and if so, execution stops here). |
---|
111 | .TP |
---|
112 | 5. |
---|
113 | Command-line options (if any). |
---|
114 | .TP |
---|
115 | 6. |
---|
116 | Interactive commands. |
---|
117 | .PP |
---|
118 | Some command-line options can cause actions (such as -s to send a file); |
---|
119 | others just set parameters. If any action options are included on the |
---|
120 | command line, Kermit exits when finished unless also given the -S ("stay") |
---|
121 | option. If no action options are given, no initialization or command files |
---|
122 | contained an EXIT or QUIT command, and no fatal errors occurred, Kermit |
---|
123 | issues its prompt and waits for you to type commands. |
---|
124 | .IP |
---|
125 | Bear in mind that C-Kermit can be built with selected features |
---|
126 | disabled, and also that certain features are not available on all |
---|
127 | platforms. For example, C-Kermit can't be built with TCP/IP |
---|
128 | support on a platform that does not have TCP/IP header files and |
---|
129 | libraries (and even if Kermit does include TCP/IP support, it |
---|
130 | can't be used to make TCP/IP connections on a computer that does |
---|
131 | not have a TCP/IP stack installed). If your version of lacks |
---|
132 | C-Kermit a feature mentioned here, use its SHOW FEATURES command to |
---|
133 | see what might have been excluded. |
---|
134 | .PP |
---|
135 | C-Kermit has three kinds of commands: regular single-letter command-line |
---|
136 | options, extended-format command-line options, and interactive commands. |
---|
137 | .PP |
---|
138 | Like most Unix commands, C-Kermit can be be given options on the command |
---|
139 | line. But C-Kermit also can be used interactively by giving it commands |
---|
140 | composed of words, which are more intuitive than cryptic command-line |
---|
141 | options, and more flexible too. In other words, you don't have to use |
---|
142 | C-Kermit's command-line options, but they are available if you want to. (By |
---|
143 | the same token, you don't have to use its interactive commands either -- |
---|
144 | you can use either or both in any combination.) |
---|
145 | .PP |
---|
146 | C-Kermit is generally installed in the PATH as "kermit", and therefore is |
---|
147 | invoked by typing the word "kermit" (lowercase) at the shell prompt, and |
---|
148 | then pressing the Return or Enter key. If you wish to include command-line |
---|
149 | options, put them after the word "kermit" but before pressing Return or |
---|
150 | Enter, separated by spaces, for example: |
---|
151 | .PP |
---|
152 | $ kermit -s ckermit.tar.gz |
---|
153 | .PP |
---|
154 | ('$' is the shell prompt; "kermit -s ckermit.tar.gz" is what you type, |
---|
155 | followed by Return or Enter.) |
---|
156 | .SH OPTIONS |
---|
157 | Here is a list of C-Kermit's single-letter command-line options, which |
---|
158 | start with a single dash (-), in ASCII ("alphabetical") order. Alphabetic |
---|
159 | case is significant (-A is not the same as -a). Action options are |
---|
160 | tagged "ACTION". |
---|
161 | .TP |
---|
162 | -0 |
---|
163 | (digit zero) 100% transparent Connect state for |
---|
164 | "in-the-middle" operation: 8 bits, no parity, no |
---|
165 | escape character, everything passes through. |
---|
166 | .TP |
---|
167 | -8 |
---|
168 | (digit eight) Connection is 8-bit clean (this is the |
---|
169 | default in C-Kermit 8.0). Equivalent to the EIGHTBIT |
---|
170 | command, which in turn is a shortcut for SET TERMINAL |
---|
171 | BYTESIZE 8, SET COMMAND BYTESIZE 8, SET PARITY NONE. |
---|
172 | .TP |
---|
173 | -9 arg |
---|
174 | (digit nine) Make a connection to an FTP server. |
---|
175 | Equivalent to the FTP OPEN command. |
---|
176 | Argument: IP-address-or-hostname[:optional-TCP-port]. |
---|
177 | NOTE: C-Kermit also has a separate FTP command-line |
---|
178 | personality, with regular FTP-like command-line |
---|
179 | syntax. More about this below. |
---|
180 | .TP |
---|
181 | -A |
---|
182 | Kermit is to be started as an Internet service (IKSD) |
---|
183 | (only from inetd.conf). |
---|
184 | .TP |
---|
185 | -B |
---|
186 | Kermit is running in Batch or Background (no |
---|
187 | controlling terminal). To be used in case Kermit |
---|
188 | doesn't automatically sense its background status. |
---|
189 | Equivalent to the SET BACKGROUND ON command. |
---|
190 | .TP |
---|
191 | -C arg |
---|
192 | Interactive-mode Commands to be executed. |
---|
193 | Argument: Commands separated by commas, list in |
---|
194 | doublequotes. |
---|
195 | .TP |
---|
196 | -D arg |
---|
197 | Delay before starting to send in Remote mode. |
---|
198 | Equivalent to the SET DELAY command. |
---|
199 | Argument: Number of seconds. |
---|
200 | .TP |
---|
201 | -E |
---|
202 | Exit automatically when connection closes. Equivalent |
---|
203 | to SET EXIT ON-DISCONNECT ON. |
---|
204 | .TP |
---|
205 | -F arg |
---|
206 | Use an open TCP connection. |
---|
207 | Argument: Numeric file descriptor of open TCP |
---|
208 | connection. |
---|
209 | Also see: -j, -J. |
---|
210 | .TP |
---|
211 | -G arg |
---|
212 | (ACTION) Get file(s) from server, send contents to standard |
---|
213 | output, which normally would be piped to another |
---|
214 | process. |
---|
215 | Argument: Remote file specification, in quotes if it |
---|
216 | contains metacharacters. |
---|
217 | Also see: -g, -k. |
---|
218 | .TP |
---|
219 | -H |
---|
220 | Suppress program startup Herald and greeting. |
---|
221 | .TP |
---|
222 | -I |
---|
223 | Tell Kermit it has a reliable connection, to force streaming to be used where |
---|
224 | it normally would not be. Equivalent to the SET RELIABLE ON command. |
---|
225 | .TP |
---|
226 | -J arg |
---|
227 | (ACTION) "Be like Telnet." Like -j but implies -E. Argument: IP |
---|
228 | hostname/address optionally followed by service. NOTE: C-Kermit also has a |
---|
229 | separate Telnet command-line personality, with regular Telnet-like |
---|
230 | command-line syntax. More about this below. |
---|
231 | .TP |
---|
232 | -L |
---|
233 | Recursive directory descent for files in -s option. |
---|
234 | .TP |
---|
235 | -M arg |
---|
236 | My user name (for use with Telnet, Rlogin, FTP, etc). |
---|
237 | Equivalent to the SET LOGIN USER command. |
---|
238 | Argument: Username string. |
---|
239 | .TP |
---|
240 | -O |
---|
241 | (ACTION) (Uppercase letter O) Be a server for One command only. |
---|
242 | Also see: -x. |
---|
243 | .TP |
---|
244 | -P |
---|
245 | Don't convert file (Path) names of transferred files. |
---|
246 | Equivalent to SET FILE NAMES LITERAL. |
---|
247 | .TP |
---|
248 | -Q |
---|
249 | Quick Kermit protocol settings. Equivalent to the FAST |
---|
250 | command. This is the default in C-Kermit 7.0 and later. |
---|
251 | .TP |
---|
252 | -R |
---|
253 | Remote-only (this just makes IF REMOTE true). |
---|
254 | .TP |
---|
255 | -S |
---|
256 | Stay (enter command parser after action options). |
---|
257 | .TP |
---|
258 | -T |
---|
259 | Force Text mode for file transfer; implies -V. |
---|
260 | Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE TEXT. |
---|
261 | .TP |
---|
262 | -V |
---|
263 | Disable automatic per-file text/binary switching. |
---|
264 | Equivalent to SET TRANSFER MODE MANUAL. |
---|
265 | .TP |
---|
266 | -Y |
---|
267 | Skip (don't execute) the initialization file. |
---|
268 | .TP |
---|
269 | -a arg |
---|
270 | As-name for file(s) in -s, -r, or -g. |
---|
271 | Argument: As-name string (alternative filename). When |
---|
272 | receiving files, this can be a directory name. |
---|
273 | .TP |
---|
274 | -b arg |
---|
275 | Speed for serial device. Equivalent to SET SPEED. |
---|
276 | Argument: Numeric Bits per second for serial |
---|
277 | connections. |
---|
278 | .TP |
---|
279 | -c |
---|
280 | (ACTION) Enter Connect state before transferring files. |
---|
281 | .TP |
---|
282 | -d |
---|
283 | Create a debug.log file with detailed debugging |
---|
284 | information (a second -d adds timestamps). Equivalent |
---|
285 | to LOG DEBUG but takes effect sooner. |
---|
286 | .TP |
---|
287 | -e arg |
---|
288 | Maximum length for incoming Kermit file-transfer |
---|
289 | packets. Equivalent to SET RECEIVE PACKET-LENGTH. |
---|
290 | Argument: Length in bytes. |
---|
291 | .TP |
---|
292 | -f |
---|
293 | (ACTION) Send a FINISH command to a Kermit server. |
---|
294 | .TP |
---|
295 | -g arg |
---|
296 | Get file(s) from a Kermit server. |
---|
297 | Argument: File specification on other computer, in |
---|
298 | quotes if it contains metacharacters. Equivalent to |
---|
299 | GET. Also see: -a, -G, -r. |
---|
300 | .TP |
---|
301 | -h |
---|
302 | (ACTION) Print Help text for single-letter command-line options |
---|
303 | (pipe thru 'more' to prevent scrolling). |
---|
304 | .TP |
---|
305 | -i |
---|
306 | Force binary (Image) mode for file transfer; implies |
---|
307 | -V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE |
---|
308 | TYPE BINARY. |
---|
309 | .TP |
---|
310 | -j arg |
---|
311 | Make a TCP/IP connection. |
---|
312 | Argument: IP host name/address and optional service |
---|
313 | name or number. Equivalent to the TELNET command. |
---|
314 | Also see: -J, -F. |
---|
315 | .TP |
---|
316 | -k |
---|
317 | (ACTION) Receive file(s) to standard output, which normally |
---|
318 | would be piped to another process. |
---|
319 | Also see: -r, -G. |
---|
320 | .TP |
---|
321 | -l arg |
---|
322 | (Lowercase letter L) Make a connection on the given |
---|
323 | serial communications device. Equivalent to the SET |
---|
324 | LINE (SET PORT) command. |
---|
325 | Argument: Serial device name, e.g. /dev/ttyS0. |
---|
326 | .TP |
---|
327 | -m arg |
---|
328 | Modem type for use with the -l device. Equivalent to |
---|
329 | the SET MODEM TYPE command. |
---|
330 | Argument: Modem name as in SET MODEM TYPE command, |
---|
331 | e.g. "usrobotics". |
---|
332 | .TP |
---|
333 | -n |
---|
334 | (ACTION) Enter Connect state after transferring files (historical). |
---|
335 | .TP |
---|
336 | -p arg |
---|
337 | Parity. Equivalent to the SET PARITY command. |
---|
338 | Argument: One of the following: e(ven), o(dd), m(ark), |
---|
339 | n(one), s(pace). |
---|
340 | .TP |
---|
341 | -q |
---|
342 | Quiet (suppress most messages). Equivalent to SET QUIET ON. |
---|
343 | .TP |
---|
344 | -r |
---|
345 | (ACTION) Receive file(s). Equivalent to the RECEIVE command. |
---|
346 | Argument: (none, but see -a) |
---|
347 | .TP |
---|
348 | -s arg |
---|
349 | Send file(s). |
---|
350 | Argument: One or more local file specifications. |
---|
351 | Equivalent to the SEND command. |
---|
352 | Also see: -a. |
---|
353 | .TP |
---|
354 | -t |
---|
355 | (Historical) Xon (Ctrl-Q) Turnaround character for |
---|
356 | half-duplex connections (used on serial linemode |
---|
357 | connections to old mainframes). Equivalent to SET |
---|
358 | DUPLEX HALF, SET HANDSHAKE XON. |
---|
359 | .TP |
---|
360 | -v arg |
---|
361 | Window size for Kermit protocol (ignored when |
---|
362 | streaming). Equivalanet to SET WINDOW-SIZE. |
---|
363 | Argument: Number, 1 to 32. |
---|
364 | .TP |
---|
365 | -w |
---|
366 | Incoming files Write over existing files. Equivalent |
---|
367 | to SET FILE COLLISION OVERWRITE. |
---|
368 | .TP |
---|
369 | -x |
---|
370 | (ACTION) Enter server mode. Equivalent to the SERVER command. |
---|
371 | Also see: -O. |
---|
372 | .TP |
---|
373 | -y arg |
---|
374 | Alternative initialization file. |
---|
375 | Argument: Filename. |
---|
376 | .TP |
---|
377 | -z |
---|
378 | Force foreground behavior. To be used in case Kermit |
---|
379 | doesn't automatically sense its foreground status. |
---|
380 | Equivalent to the SET BACKGROUND OFF command. |
---|
381 | .PP |
---|
382 | Extended command-line options (necessary because single-letter ones are |
---|
383 | about used up) start with two dashes (--), with words rather than single |
---|
384 | letters as option names. If an extended option takes an argument, it is |
---|
385 | separated from the option word by a colon (:). Extended options include: |
---|
386 | |
---|
387 | .TP |
---|
388 | --bannerfile:filename |
---|
389 | File to display upon startup or IKSD login. |
---|
390 | .TP |
---|
391 | --cdfile:filename |
---|
392 | File to be sent for display to the client when |
---|
393 | server changes directory (filename is relative to |
---|
394 | the changed-to directory). |
---|
395 | .TP |
---|
396 | --cdmessage:{on,off} |
---|
397 | Enable/disable the server CD message feature. |
---|
398 | .TP |
---|
399 | --help |
---|
400 | Prints usage message for extended options. |
---|
401 | .TP |
---|
402 | --helpfile:filename |
---|
403 | Designates a file containing custom text to |
---|
404 | replace the top-level HELP command. |
---|
405 | .TP |
---|
406 | --nointerrupts |
---|
407 | Disables keyboard interrupts. |
---|
408 | .TP |
---|
409 | --noperms |
---|
410 | Disables the Kermit protocol file Permissions |
---|
411 | attribute, to prevent transmission of file |
---|
412 | permissions (protection) from sender to receiver. |
---|
413 | .TP |
---|
414 | --version |
---|
415 | (ACTION) C-Kermit prints its version number. |
---|
416 | .PP |
---|
417 | Plus several other IKSD-Only options described at: |
---|
418 | .PP |
---|
419 | http://www.columbia.edu/kermit/iksd.html |
---|
420 | .PP |
---|
421 | See the file-transfer section for examples of command-line invocation. |
---|
422 | .SH COMMAND LANGUAGE |
---|
423 | C-Kermit's interactive command language is the subject of a 622-page book |
---|
424 | and another several hundred pages of updates, far too much for a manual |
---|
425 | page. But it's not hard to get started. At the shell prompt, just type |
---|
426 | "kermit" to get C-Kermit's interactive command prompt: |
---|
427 | .PP |
---|
428 | .nf |
---|
429 | $ kermit |
---|
430 | (/current/directory) C-Kermit> |
---|
431 | .fi |
---|
432 | .PP |
---|
433 | Begin by typing "help" (and then press the Return or Enter key) for a |
---|
434 | top-level overview, read it, and go from there. Your second command should |
---|
435 | probably be "intro" (introduction). Note the prompt shows your current |
---|
436 | directory (unless you tell Kermit to prompt you with something else). |
---|
437 | .PP |
---|
438 | Interactive commands are composed mainly of regular English words, usually |
---|
439 | in the form of imperative sentences, such as: |
---|
440 | .PP |
---|
441 | send oofa.txt |
---|
442 | .PP |
---|
443 | which tells Kermit to send (transfer) the file whose name is oofa.txt, or: |
---|
444 | .PP |
---|
445 | set transfer mode automatic |
---|
446 | .PP |
---|
447 | which sets Kermit's "transfer mode" to "automatic" (whatever that means). |
---|
448 | .PP |
---|
449 | While typing commands, you can abbreviate, ask for help (by pressing the |
---|
450 | "?" key anywhere in a command), complete keywords or filenames (with the |
---|
451 | Tab or Esc key), and edit your typing with Backspace or Delete, Ctrl-W, |
---|
452 | Ctrl-U, etc. You can also recall previous commands, save your command |
---|
453 | history, and who knows what else. Give the INTRO command for details. |
---|
454 | .PP |
---|
455 | C-Kermit has hundreds of commands, and they can be issued in infinite |
---|
456 | variety and combinations, including commands for: |
---|
457 | .nf |
---|
458 | .PP |
---|
459 | \(bu Making connections (SET LINE, DIAL, TELNET, SSH, FTP, ...) |
---|
460 | .br |
---|
461 | \(bu Breaking connections (HANGUP, CLOSE) |
---|
462 | .br |
---|
463 | \(bu Transferring files (SEND, GET, RECEIVE, MOVE, RESEND, ...) |
---|
464 | .br |
---|
465 | \(bu Establishing preferences (SET) |
---|
466 | .br |
---|
467 | \(bu Displaying preferences (SHOW) |
---|
468 | .br |
---|
469 | \(bu Managing local files (CD, DELETE, MKDIR, DIR, RENAME, TYPE, ...) |
---|
470 | .br |
---|
471 | \(bu Managing remote files (RCD, RDEL, RMKDIR, RDIR, ...) |
---|
472 | .br |
---|
473 | \(bu Using local files (FOPEN, FCLOSE, FREAD, FWRITE) |
---|
474 | .br |
---|
475 | \(bu Programming (TAKE, DEFINE, IF, FOR, WHILE, SWITCH, DECLARE, ...) |
---|
476 | .br |
---|
477 | \(bu Interacting with the user (ECHO, ASK, ...) |
---|
478 | .br |
---|
479 | \(bu Interacting with a remote computer (INPUT, OUTPUT, ...) |
---|
480 | .br |
---|
481 | \(bu Interacting with local programs (RUN, EXEC, PTY, ...) |
---|
482 | .br |
---|
483 | \(bu Logging things (LOG SESSION, LOG PACKETS, LOG DEBUG, ...) |
---|
484 | .PP |
---|
485 | .fi |
---|
486 | And of course QUIT or EXIT to get out and HELP to get help, and for |
---|
487 | programmers: loops, decision making, variables, arrays, associative arrays, |
---|
488 | integer and floating point arithmetic, macros, built-in and user-defined |
---|
489 | functions, string manipulation, pattern matching, block structure, scoping, |
---|
490 | recursion, and all the rest. To get a list of all C-Kermit's commands, type |
---|
491 | a question mark (?) at the prompt. To get a description of any command, |
---|
492 | type HELP followed by the name of the command, for example: |
---|
493 | .PP |
---|
494 | help send |
---|
495 | .PP |
---|
496 | The command interruption character is Ctrl-C (hold down the Ctrl key and |
---|
497 | press the C key). |
---|
498 | .PP |
---|
499 | The command language "escape character", used to introduce variable names, |
---|
500 | function invocations, and so on, is backslash (\). If you need to include a |
---|
501 | literal backslash in a command, type two of them, e.g.: |
---|
502 | .PP |
---|
503 | get c:\ek95\ek95custom.ini |
---|
504 | .SS Command Files, Macros, and Scripts |
---|
505 | A file containing Kermit commands is called a Kermit command file or Kermit |
---|
506 | script. It can be executed with Kermit's TAKE command: |
---|
507 | .PP |
---|
508 | (/current/dir) C-Kermit> take commandfile |
---|
509 | .PP |
---|
510 | (where "commandfile" is the name of the command file). Please don't pipe a |
---|
511 | command file into Kermit's standard input (which might or might not work); |
---|
512 | if you have Kermit commands in a file, tell Kermit to TAKE the file. |
---|
513 | .PP |
---|
514 | In Unix only, a Kermit command file can also be executed directly by |
---|
515 | including a "kerbang" line as the first line of the file: |
---|
516 | .PP |
---|
517 | #!/usr/local/bin/kermit + |
---|
518 | .PP |
---|
519 | That is, a top line that starts with "#!", followed immediately by the full |
---|
520 | path of the Kermit executable, and then, if the Kermit script is to be |
---|
521 | given arguments on the command line, a space and a plus sign. The script |
---|
522 | file must also have execute permission: |
---|
523 | .PP |
---|
524 | chmod +x commandfile |
---|
525 | .PP |
---|
526 | Except for the " +" part, this is exactly the same as you would do for a |
---|
527 | shell script, a Perl script, etc. Here's a simple but useless example |
---|
528 | script that regurgitates its arguments (up to three of them): |
---|
529 | .PP |
---|
530 | #!/usr/local/bin/kermit + |
---|
531 | if defined \e%1 echo "Argument 1: \e%1" |
---|
532 | if defined \e%2 echo "Argument 2: \e%2" |
---|
533 | if defined \e%3 echo "Argument 3: \e%3" |
---|
534 | if defined \e%4 echo "etc..." |
---|
535 | exit |
---|
536 | .PP |
---|
537 | If this file is stored in your current directory as "commandfile", then: |
---|
538 | .PP |
---|
539 | ./commandfile one two three four five |
---|
540 | .PP |
---|
541 | prints: |
---|
542 | .PP |
---|
543 | Argument 1: one |
---|
544 | Argument 2: two |
---|
545 | Argument 3: three |
---|
546 | etc... |
---|
547 | .PP |
---|
548 | This illustrates the basic structure of a standalone Kermit script: the |
---|
549 | "kerbang line", then some commands. It should end with "exit" unless you |
---|
550 | want the Kermit prompt to appear when it is finished. \e%1 is the first |
---|
551 | argument, \e%2 the second, and so on. |
---|
552 | .PP |
---|
553 | You can also create your own commands by defining named macros composed of |
---|
554 | other Kermit commands (or macros). For example: |
---|
555 | .PP |
---|
556 | .nf |
---|
557 | define mydelete { |
---|
558 | local trash |
---|
559 | assign trash \ev(home)trashcan/ |
---|
560 | if not defined \e%1 end 1 "Delete what?" |
---|
561 | if wild \e%1 { |
---|
562 | end 1 "Deleting multiple files is too scary" |
---|
563 | } |
---|
564 | if not exist \e%1 end 1 "I can't find \e%1" |
---|
565 | if not directory \em(trash) { |
---|
566 | mkdir \em(trash) |
---|
567 | if fail end 1 "No trash can" |
---|
568 | } |
---|
569 | rename /list \e%1 \em(trash) |
---|
570 | } |
---|
571 | define myundelete { |
---|
572 | local trash |
---|
573 | assign trash \ev(home)trashcan/ |
---|
574 | if not defined \e%1 end 1 "Undelete what?" |
---|
575 | if wild \e%1 { |
---|
576 | end 1 "Undeleting multiple files is too hard" |
---|
577 | } |
---|
578 | if not directory \em(trash) end 1 "No trash can" |
---|
579 | if not exist \em(trash)\e%1 { |
---|
580 | end 1 "I can't find \e%1 in trash can" |
---|
581 | } |
---|
582 | rename /list \em(trash)\e%1 . |
---|
583 | } |
---|
584 | .PP |
---|
585 | .fi |
---|
586 | These sample macros are not exactly production quality (they don't handle |
---|
587 | filenames that include path segments, they don't handle multiple files, |
---|
588 | etc), but you get the idea: you can pass arguments to macros, and they can |
---|
589 | check them and make other kinds of decisions. If you put the above lines |
---|
590 | into your initialization or customization file (explained below), you'll |
---|
591 | have MYDELETE and MYUNDELETE commands available every time you start |
---|
592 | Kermit, at least as long as you don't suppress execution of the |
---|
593 | initialization file. (Exercise for the reader: Make these macros generally |
---|
594 | useful: remove limitations, add trashcan display, browsing, emptying, etc.) |
---|
595 | .PP |
---|
596 | Kerbang scripts execute without the initialization file. This to keep them |
---|
597 | portable and also to make them start faster. If you want to write Kerbang |
---|
598 | scripts that depend on the initialization file, include the command |
---|
599 | .PP |
---|
600 | take \ev(home).kermrc |
---|
601 | .PP |
---|
602 | at the desired spot in the script. By the way, \ev(xxx) is a built-in |
---|
603 | variable (xxx is the variable name, "home" in this case). To see what |
---|
604 | built-in variables are available, type "show variables" at the C-Kermit |
---|
605 | prompt. To see what else you can show, type "show ?". \em(xxx) is a user |
---|
606 | defined variable (strictly speaking, it is a macro used as a variable). |
---|
607 | .SS Command List |
---|
608 | C-Kermit has more than 200 top-level commands, and some of these, such as |
---|
609 | SET, branch off into hundreds of subcommands of their own, so it's not |
---|
610 | practical to describe them all here. Instead, here's a concise list of the |
---|
611 | most commonly used top-level commands, grouped by category. To learn about |
---|
612 | each command, type "help" followed by the command name, e.g. "help set". |
---|
613 | Terms such as Command state and Connect state are explained in subsequent |
---|
614 | sections. |
---|
615 | .PP |
---|
616 | Optional fields are shown in [ brackets ]. "filename" means the |
---|
617 | name of a single file. filespec means a file specification that is allowed |
---|
618 | to contain wildcard characters like '*' to match groups of files. options |
---|
619 | are (optional) switches like /PAGE, /NOPAGE, /QUIET, etc, listed in the |
---|
620 | HELP text for each command. Example: |
---|
621 | .PP |
---|
622 | .nf |
---|
623 | send /recursive /larger:10000 /after:-1week /except:*.txt * |
---|
624 | .fi |
---|
625 | .PP |
---|
626 | which can be read as "send all the files in this directory and all the ones |
---|
627 | underneath it that are larger than 10000 bytes, no more than one week old, |
---|
628 | and whose names don't end with ".txt". |
---|
629 | .SS |
---|
630 | Basic Commands |
---|
631 | .RS |
---|
632 | .TP |
---|
633 | HELP |
---|
634 | Requests top-level help. |
---|
635 | .TP |
---|
636 | HELP command |
---|
637 | Requests help about the given command. |
---|
638 | .TP |
---|
639 | INTRODUCTION |
---|
640 | Requests a brief introduction to C-Kermit. |
---|
641 | .TP |
---|
642 | LICENSE |
---|
643 | Displays the C-Kermit software copyright and license. |
---|
644 | .TP |
---|
645 | VERSION |
---|
646 | Displays C-Kermit's version number. |
---|
647 | .TP |
---|
648 | EXIT [ number ] |
---|
649 | Exits from Kermit with the given |
---|
650 | status code. Synonyms: QUIT, E, Q. |
---|
651 | .TP |
---|
652 | TAKE filename [ parameters... ] |
---|
653 | Executes commands from the given |
---|
654 | .TP |
---|
655 | LOG item [ filename ] |
---|
656 | Keeps a log of the given item in the given file. |
---|
657 | .TP |
---|
658 | [ DO ] macro [ parameters... ] |
---|
659 | Executes commands from the given macro. |
---|
660 | .TP |
---|
661 | SET parameter value |
---|
662 | Sets the given parameter to the given value. |
---|
663 | .TP |
---|
664 | SHOW category |
---|
665 | Shows settings in a given category. |
---|
666 | .TP |
---|
667 | STATUS |
---|
668 | Tells whether previous command succeeded or failed. |
---|
669 | .TP |
---|
670 | DATE [ date-and/or-time ] |
---|
671 | Shows current date-time or interprets given date-time. |
---|
672 | .TP |
---|
673 | RUN [ extern-command [ parameters... ] |
---|
674 | Runs the given external command. Synonym: !. |
---|
675 | .TP |
---|
676 | EXEC [ extern-command [ params... ] |
---|
677 | Kermit overlays itself with the given command. |
---|
678 | .TP |
---|
679 | SUSPEND |
---|
680 | Stops Kermit and puts it in the background. Synonym: Z. |
---|
681 | .RE |
---|
682 | .SS |
---|
683 | Local File Management |
---|
684 | .RS |
---|
685 | .TP |
---|
686 | TYPE [ options ] filename |
---|
687 | Displays the contents of the given file. |
---|
688 | .TP |
---|
689 | MORE [ options ] filename |
---|
690 | Equivalent to TYPE /PAGE (pause after each screenful). |
---|
691 | .TP |
---|
692 | CAT [ options ] filename |
---|
693 | Equivalent to TYPE /NOPAGE. |
---|
694 | .TP |
---|
695 | HEAD [ options ] filename |
---|
696 | Displays the first few lines of a given file. |
---|
697 | .TP |
---|
698 | TAIL [ options ] filename |
---|
699 | Displays the last few lines of a given file. |
---|
700 | .TP |
---|
701 | GREP [ options ] pattern filespec |
---|
702 | Displays lines from files that match |
---|
703 | the pattern. Synonym: FIND. |
---|
704 | .TP |
---|
705 | DIRECTORY [ options ] [filespec ] |
---|
706 | Lists files (built-in, many options). |
---|
707 | .TP |
---|
708 | LS [ options ] [ filespec ] |
---|
709 | Lists files (runs external "ls" command). |
---|
710 | .TP |
---|
711 | DELETE [ options ] [ filespec ] |
---|
712 | Deletes files. Synonym: RM. |
---|
713 | .TP |
---|
714 | PURGE [ options ] [ filespec ] |
---|
715 | Removes backup (*.~n~) files. |
---|
716 | .TP |
---|
717 | COPY [ options ] [ filespecs... ] |
---|
718 | Copies files. Synonym: CP. |
---|
719 | .TP |
---|
720 | RENAME [ options ] [ filespecs... ] |
---|
721 | Renames files. Synonym: MV. |
---|
722 | .TP |
---|
723 | CHMOD [ options ] [ filespecs... ] |
---|
724 | Changes permissions of files. |
---|
725 | .TP |
---|
726 | TRANSLATE filename charsets [ filename ] |
---|
727 | Converts file's character set. Synonym: XLATE. |
---|
728 | .TP |
---|
729 | CD |
---|
730 | Changes your working directory to your home directory. |
---|
731 | .TP |
---|
732 | CD directory |
---|
733 | Changes your working directory to the one given. |
---|
734 | .TP |
---|
735 | CDUP |
---|
736 | Changes your working directory one level up. |
---|
737 | .TP |
---|
738 | PWD |
---|
739 | Displays your working directory. |
---|
740 | .TP |
---|
741 | BACK |
---|
742 | Returns to your previous working directory. |
---|
743 | .TP |
---|
744 | MKDIR [ directory ] |
---|
745 | Creates a directory. |
---|
746 | .TP |
---|
747 | RMDIR [ directory ] |
---|
748 | Removes a directory. |
---|
749 | .RE |
---|
750 | .SS |
---|
751 | Making Connections |
---|
752 | .RS |
---|
753 | .TP |
---|
754 | SET LINE [ options ] devicename |
---|
755 | Opens the named serial port. Synonym: SET PORT. |
---|
756 | .TP |
---|
757 | OPEN LINE [ options ] devicename |
---|
758 | Same as SET LINE. Synonym: OPEN PORT. |
---|
759 | .TP |
---|
760 | SET MODEM TYPE [ name ] |
---|
761 | Tells Kermit what kind of modem is on the port. |
---|
762 | .TP |
---|
763 | DIAL [ number ] |
---|
764 | Tells Kermit to dial the given phone number with the modem. |
---|
765 | .TP |
---|
766 | REDIAL |
---|
767 | Redials the most recently dialed phone number. |
---|
768 | .TP |
---|
769 | ANSWER |
---|
770 | Waits for and answers an incoming call on the modem. |
---|
771 | .TP |
---|
772 | AUTHENTICATE [ parameters... ] |
---|
773 | Performs secure authentication on a TCP/IP connection. |
---|
774 | .TP |
---|
775 | SET NETWORK TYPE { TCP/IP, X.25, ... } |
---|
776 | Selects network type for subsequent SET HOST commands. |
---|
777 | .TP |
---|
778 | SET HOST [ options ] host [ port ] |
---|
779 | Opens a network connection to the given host and port. |
---|
780 | .TP |
---|
781 | SET HOST * port |
---|
782 | Waits for an incoming TCP/IP connection on the given port. |
---|
783 | .TP |
---|
784 | TELNET [ options ] host |
---|
785 | Opens a Telnet connection to the host and enters Connect state. |
---|
786 | .TP |
---|
787 | RLOGIN [ options ] host |
---|
788 | Opens an Rlogin connection to the host and enters Connect state. |
---|
789 | .TP |
---|
790 | IKSD [ options ] host |
---|
791 | Opens a connection to an Internet Kermit Service. |
---|
792 | .TP |
---|
793 | SSH [ options ] host |
---|
794 | Opens an SSH connection to the host and enters Connect state. |
---|
795 | .TP |
---|
796 | FTP OPEN host [ options ] |
---|
797 | Opens an FTP connection to the host. |
---|
798 | .TP |
---|
799 | HTTP [ options ] OPEN host |
---|
800 | Opens an HTTP connection to the host. |
---|
801 | .TP |
---|
802 | PTY external-command |
---|
803 | Runs the command on a pseudoterminal as if it were a connection. |
---|
804 | .TP |
---|
805 | PIPE external-command |
---|
806 | Runs the command through a pipe as if it were a connection. |
---|
807 | .RE |
---|
808 | .SS |
---|
809 | Using Connections |
---|
810 | .RS |
---|
811 | .TP |
---|
812 | CONNECT [ options ] |
---|
813 | Enters Connect (terminal) state. Synonym: C. |
---|
814 | .TP |
---|
815 | REDIRECT command |
---|
816 | Redirects the given external command over the connection. |
---|
817 | .TP |
---|
818 | TELOPT command |
---|
819 | Sends a Telnet protocol command (Telnet connections only). |
---|
820 | .TP |
---|
821 | Ctrl-\eC |
---|
822 | "Escapes back" from Connect state to Command state. |
---|
823 | .TP |
---|
824 | Ctrl-\eB |
---|
825 | (In Connect state) Sends a BREAK signal (serial or Telnet). |
---|
826 | .TP |
---|
827 | Ctrl-\e! |
---|
828 | (In Connect state) Enters inferior shell; "exit" to return. |
---|
829 | .TP |
---|
830 | Ctrl-\e? |
---|
831 | (In Connect state) Shows a menu of other escape-level options. |
---|
832 | .TP |
---|
833 | Ctrl-\eCtrl-\e |
---|
834 | (In Connect state) Type two |
---|
835 | Ctrl-Backslashes to send one of them. |
---|
836 | .TP |
---|
837 | SET ESCAPE [ character ] |
---|
838 | Changes Kermit's Connect-state escape character. |
---|
839 | .RE |
---|
840 | .SS |
---|
841 | Closing Connections |
---|
842 | .RS |
---|
843 | .TP |
---|
844 | HANGUP |
---|
845 | Hangs up the currently open |
---|
846 | serial-port or network connection. |
---|
847 | .TP |
---|
848 | CLOSE |
---|
849 | Closes the currently open |
---|
850 | serial-port or network connection. |
---|
851 | .TP |
---|
852 | SET LINE (with no devicename) |
---|
853 | Closes the currently open |
---|
854 | serial-port or network connection. |
---|
855 | .TP |
---|
856 | SET HOST (with no hostname) |
---|
857 | Closes the currently open serial-port or network connection. |
---|
858 | .TP |
---|
859 | FTP CLOSE |
---|
860 | Closes the currently open FTP connection. |
---|
861 | .TP |
---|
862 | HTTP CLOSE |
---|
863 | Closes the currently open HTTP connection. |
---|
864 | .TP |
---|
865 | EXIT |
---|
866 | Also closes all connections. Synonym: QUIT. |
---|
867 | .TP |
---|
868 | SET EXIT WARNING OFF |
---|
869 | Suppresses warning about open connections on exit or close. |
---|
870 | .RE |
---|
871 | .SS |
---|
872 | File Transfer |
---|
873 | .RS |
---|
874 | .TP |
---|
875 | SEND [ options ] filename [ as-name ] |
---|
876 | Sends the given file. Synonym: S. |
---|
877 | .TP |
---|
878 | SEND [ options ] filespec |
---|
879 | Sends all files that match. |
---|
880 | .TP |
---|
881 | RESEND [ options ] filespec |
---|
882 | Resumes an interupted SEND from the point of failure. |
---|
883 | .TP |
---|
884 | RECEIVE [ options ] [ as-name ] |
---|
885 | Waits passively for files to arrive. Synonym: R. |
---|
886 | .TP |
---|
887 | LOG TRANSACTIONS [ filename ] |
---|
888 | Keeps a record of file transfers. |
---|
889 | .TP |
---|
890 | FAST |
---|
891 | Use fast file-transfer settings (default). |
---|
892 | .TP |
---|
893 | CAUTIOUS |
---|
894 | Use cautious and less fast file-transfer settings. |
---|
895 | .TP |
---|
896 | ROBUST |
---|
897 | Use ultra-conservative and slow file-transfer settings. |
---|
898 | .TP |
---|
899 | STATISTICS [ options ] |
---|
900 | Gives statistics about the most recent file transfer. |
---|
901 | .TP |
---|
902 | WHERE |
---|
903 | After transfer: "Where did my files go?". |
---|
904 | .TP |
---|
905 | TRANSMIT [ options ] [ofilename ] |
---|
906 | Sends file without protocol. Synonym: XMIT. |
---|
907 | .TP |
---|
908 | LOG SESSION [ filename ] |
---|
909 | Captures remote text or files without protocol. |
---|
910 | .TP |
---|
911 | SET PROTOCOL [ name... ] |
---|
912 | Tells Kermit to use an external file-transfer protocol. |
---|
913 | .TP |
---|
914 | FTP { PUT, MPUT, GET, MGET, ... } |
---|
915 | FTP client commands. |
---|
916 | .TP |
---|
917 | HTTP { PUT, GET, HEAD, POST, ... } |
---|
918 | HTTP client commands. |
---|
919 | .RE |
---|
920 | .SS |
---|
921 | Kermit Server |
---|
922 | .RS |
---|
923 | .TP |
---|
924 | ENABLE, DISABLE |
---|
925 | Controls which server features can be used by clients. |
---|
926 | .TP |
---|
927 | SET SERVER |
---|
928 | Sets parameters prior to entering Server state. |
---|
929 | .TP |
---|
930 | SERVER |
---|
931 | Enters Server state. |
---|
932 | .RE |
---|
933 | .SS |
---|
934 | Client of Kermit or FTP Server |
---|
935 | .RS |
---|
936 | .TP |
---|
937 | [ REMOTE ] LOGIN [ user password ] |
---|
938 | Logs in to a Kermit server or IKSD that requires it. |
---|
939 | .TP |
---|
940 | [ REMOTE ] LOGOUT |
---|
941 | Logs out from a Kermit server or IKSD. |
---|
942 | .TP |
---|
943 | SEND [ options ] filename [ as-name ] |
---|
944 | Sends the given file to the server. Synonyms: S, PUT. |
---|
945 | .TP |
---|
946 | SEND [ options ] filespec |
---|
947 | Sends all files that match. |
---|
948 | .TP |
---|
949 | RESEND [ options ] filespec |
---|
950 | Resumes an interupted SEND from the point of failure. |
---|
951 | .TP |
---|
952 | GET [ options ] remote-filespec |
---|
953 | Asks the server to send the given files. Synonym: G. |
---|
954 | .TP |
---|
955 | REGET [ options ] remote-filespec |
---|
956 | Resumes an interrupted GET from the point of failure. |
---|
957 | .TP |
---|
958 | REMOTE CD [ directory ] |
---|
959 | Asks server to change its working |
---|
960 | directory. Synonym: RCD. |
---|
961 | .TP |
---|
962 | REMOTE PWD [ directory ] |
---|
963 | Asks server to display its working directory. Synonym: RPWD. |
---|
964 | .TP |
---|
965 | REMOTE DIRECTORY [ filespec... ] |
---|
966 | Asks server to send a directory listing. Synonym: RDIR. |
---|
967 | .TP |
---|
968 | REMOTE DELETE [ filespec... ] |
---|
969 | Asks server to delete files. Synonym: RDEL. |
---|
970 | .TP |
---|
971 | REMOTE [ command... ] |
---|
972 | (Many other commands: "remote ?" for a list). |
---|
973 | .TP |
---|
974 | MAIL [ options ] filespec |
---|
975 | Sends file(s) to be delivered as e-mail (Kermit only). |
---|
976 | .TP |
---|
977 | FINISH |
---|
978 | Asks the server to exit server state (Kermit only). |
---|
979 | .TP |
---|
980 | BYE |
---|
981 | Asks the server to log out and close the connection. |
---|
982 | .RE |
---|
983 | .SS |
---|
984 | Script Programming |
---|
985 | .PP |
---|
986 | .RS |
---|
987 | DEFINE, DECLARE, UNDEFINE, UNDECLARE, ASSIGN, EVALUATE, SEXPRESSION, |
---|
988 | ARRAY, SORT, INPUT, OUTPUT, IF, FOR, WHILE, SWITCH, GOTO, ECHO, ASK, |
---|
989 | GETC, GETOK, ASSERT, WAIT, SLEEP, FOPEN, FREAD, FWRITE, FCLOSE, STOP, |
---|
990 | END, RETURN, LEARN, SHIFT, TRACE, VOID, INCREMENT, DECREMENT, ... For |
---|
991 | these and many more you'll need to consult the manual and supplements, |
---|
992 | and/or visit the Kermit Script Library, which also includes a brief |
---|
993 | tutorial. Hint: HELP LEARN to find out how to get Kermit to write |
---|
994 | simple scripts for you. |
---|
995 | .RE |
---|
996 | .PP |
---|
997 | Many of Kermit's commands have synonyms, variants, relatives, and so on. |
---|
998 | For example, MSEND is a version of SEND that accepts a list of file |
---|
999 | specifications to be sent, rather than just one file specification, and |
---|
1000 | MPUT is a synonym of MSEND. MOVE means to SEND and then DELETE the source |
---|
1001 | file if successful. MMOVE is like MOVE, but accepts a list of filespecs, |
---|
1002 | and so on. These are described in the full documentation. |
---|
1003 | .PP |
---|
1004 | Use question mark to feel your way through an unfamiliar command, as in |
---|
1005 | this example: |
---|
1006 | .PP |
---|
1007 | .nf |
---|
1008 | C-Kermit> remote ? One of the following: |
---|
1009 | assign directory kermit print rmdir |
---|
1010 | cd exit login pwd set |
---|
1011 | copy help logout query space |
---|
1012 | delete host mkdir rename type |
---|
1013 | C-Kermit> remote set ? One of the following: |
---|
1014 | attributes file retry transfer |
---|
1015 | block-check receive server window |
---|
1016 | C-Kermit> remote set file ? One of the following: |
---|
1017 | character-set incomplete record-length |
---|
1018 | collision names type |
---|
1019 | C-Kermit> remote set file names ? One of the following: |
---|
1020 | converted literal |
---|
1021 | C-Kermit> remote set file names literal |
---|
1022 | C-Kermit> |
---|
1023 | .PP |
---|
1024 | .fi |
---|
1025 | This is called menu on demand: you get a menu when you want one, but menus |
---|
1026 | are not forced on you even when know what you're doing. Note that you can |
---|
1027 | also abbreviate most keywords, and you can complete them with the Tab or |
---|
1028 | Esc key. Also note that ? works for filenames too, and that you can use it |
---|
1029 | in the middle of a keyword or filename, not just at the beginning. For |
---|
1030 | example, "send x?" lists all the files in the current directory whose names |
---|
1031 | start with 'x'. |
---|
1032 | .SH INITIALIZATION FILE |
---|
1033 | In its default configuration, C-Kermit executes commands from a file |
---|
1034 | called .kermrc in your home directory when it starts, unless it is given the |
---|
1035 | -Y or -y command-line option. Custom configurations might substitute a shared |
---|
1036 | system-wide initialization file. The SHOW FILE command tells what |
---|
1037 | initialization file, if any, was used. The standard initialization file |
---|
1038 | "chains" to an individual customization file, .mykermc, in the home directory, |
---|
1039 | in which each user can establish her/his own preferences, define macros, and |
---|
1040 | so on. |
---|
1041 | .PP |
---|
1042 | Since execution of the initialization file (at least the standard one) |
---|
1043 | makes C-Kermit take longer to start, it might be better not to have an |
---|
1044 | initialization file, especially now that Kermit's default startup |
---|
1045 | configuration is well attuned to modern computing and networking -- in |
---|
1046 | other words, you no longer have do anything special to make Kermit |
---|
1047 | transfers go fast. So instead of having an initialization file that is |
---|
1048 | executed every time Kermit starts, you might consider making one or more |
---|
1049 | kerbang scripts (with names other that .kermrc) that do NOT include an |
---|
1050 | "exit" command, and invoke those when you need the settings, macro |
---|
1051 | definitions, and/or scripted actions they contain, and invoke C-Kermit |
---|
1052 | directly when you don't. |
---|
1053 | .PP |
---|
1054 | To put it another way... We still distribute the standard initialization |
---|
1055 | file since it's featured in the manual and backwards compatibility is |
---|
1056 | important to us. But there's no harm in not using it if you don't need the |
---|
1057 | stuff that's in it (services directory, dialing directory, network |
---|
1058 | directory, and associated macro definitions). On the other hand, if there |
---|
1059 | are settings or macros you want in effect EVERY time you use Kermit, the |
---|
1060 | initialization file (or the customization file it chains to) is the place |
---|
1061 | to put them, because that's the only place Kermit looks for them |
---|
1062 | automatically each time you start it. |
---|
1063 | .SH MODES OF OPERATION |
---|
1064 | Kermit is said to be in Local mode if it has made a connection to another |
---|
1065 | computer, e.g. by dialing it or establishing a Telnet connection to it. The |
---|
1066 | other computer is remote, so if you start another copy of Kermit on the |
---|
1067 | remote computer, it is said to be in Remote mode (as long as it has not |
---|
1068 | made any connections of its own). The local Kermit communicates over the |
---|
1069 | communications device or network connection, acting as a conduit between |
---|
1070 | the the remote computer and your keyboard and screen. The remote Kermit is |
---|
1071 | the file-transfer partner to the local Kermit and communicates only through |
---|
1072 | its standard input and output. |
---|
1073 | .PP |
---|
1074 | At any moment, a Kermit program can be in any of the following states. It's |
---|
1075 | important to know what they are and how to change from one to the other. |
---|
1076 | .TP |
---|
1077 | Command state |
---|
1078 | In this state, Kermit reads commands from: |
---|
1079 | .sp |
---|
1080 | \(bu Your keyboard; or: |
---|
1081 | .br |
---|
1082 | \(bu A file, or: |
---|
1083 | .br |
---|
1084 | \(bu A macro definition. |
---|
1085 | .sp |
---|
1086 | You can exit from Command state back to Unix with the EXIT or QUIT |
---|
1087 | command (same thing). You can enter Connect state with any of various |
---|
1088 | commands (CONNECT, DIAL, TELNET, etc). You can enter file transfer |
---|
1089 | state with commands like SEND, RECEIVE, and GET. You can enter Server |
---|
1090 | state with the SERVER command. The TAKE command tells Kermit to read |
---|
1091 | and execute commands from a file. The (perhaps implied) DO command |
---|
1092 | tells Kermit to read and execute commands from a macro definition. |
---|
1093 | While in Command state, you can interrupt any command, macro, or |
---|
1094 | command file by typing Ctrl-C (hold down the Ctrl key and press the C |
---|
1095 | key); this normally brings you back to the prompt. |
---|
1096 | .TP |
---|
1097 | Shell state |
---|
1098 | You can invoke an inferior shell or external command from the Kermit |
---|
1099 | command prompt by using the PUSH, RUN (!), EDIT, or BROWSE command. |
---|
1100 | While the inferior shell or command is active, Kermit is suspended and |
---|
1101 | does nothing. Return to Kermit Command state by exiting from the |
---|
1102 | inferior shell or application. |
---|
1103 | .TP |
---|
1104 | Connect state |
---|
1105 | In this state, which can be entered only when in Local mode (i.e. when |
---|
1106 | Kermit has made a connection to another computer), Kermit is acting as |
---|
1107 | a terminal to the remote computer. Your keystrokes are sent to the |
---|
1108 | remote computer and characters that arrive over the communication |
---|
1109 | connection are displayed on your screen. This state is entered when |
---|
1110 | you give a CONNECT, DIAL, TELNET, RLOGIN, or IKSD command. You can |
---|
1111 | return to command state by logging out of the remote computer, or by |
---|
1112 | typing: |
---|
1113 | .sp |
---|
1114 | Ctrl-\ec |
---|
1115 | .sp |
---|
1116 | That is: Hold down the Ctrl key and press the backslash key, then let |
---|
1117 | go of the Ctrl key and press the C key. This is called escaping back. |
---|
1118 | Certain other escape-level commands are also provided; type Ctrl-\e? |
---|
1119 | for a list. For example, you can enter Shell state with: |
---|
1120 | .sp |
---|
1121 | Ctrl-\e! |
---|
1122 | .sp |
---|
1123 | To send a Ctrl-\e to the host while in Connect state, type two of them |
---|
1124 | in a row. See HELP CONNECT and HELP SET ESCAPE for more info. |
---|
1125 | .TP |
---|
1126 | Local file-transfer state |
---|
1127 | In this state, Kermit is sending packets back and forth with the other |
---|
1128 | computer in order to transfer a file or accomplish some other |
---|
1129 | file-related task. And at the same time, it is displaying its progress |
---|
1130 | on your screen and watching your keyboard for interruptions. In this |
---|
1131 | state, the following single-keystroke commands are accepted: |
---|
1132 | .sp |
---|
1133 | .RS |
---|
1134 | .TP |
---|
1135 | X |
---|
1136 | Interrupt the current file and go on to the next (if any). |
---|
1137 | .TP |
---|
1138 | Z |
---|
1139 | Interrupt the current file and skip all the rest. |
---|
1140 | .TP |
---|
1141 | E |
---|
1142 | Like Z but uses a "stronger" protocol (use if X or Z don't work). |
---|
1143 | .TP |
---|
1144 | Ctrl-C |
---|
1145 | Interrupt file-transfer mode (use if Z or E don't work). |
---|
1146 | .sp |
---|
1147 | .RE |
---|
1148 | Kermit returns to its previous state (Command or Connect) when the |
---|
1149 | transfer is complete or when interrupted successfully by X, Z, E, or |
---|
1150 | Ctrl-C (hold down the Ctrl key and press the C key). |
---|
1151 | .TP |
---|
1152 | Remote file-transfer state |
---|
1153 | In this state, Kermit is exchanging file-transfer packets with its |
---|
1154 | local partner over its standard i/o. It leaves this state |
---|
1155 | automatically when the transfer is complete. In case you find your |
---|
1156 | local Kermit in Connect state and the remote one in File-transfer |
---|
1157 | state (in which it seems to ignore your keystrokes), you can usually |
---|
1158 | return it to command state by typing three Ctrl-C's in a row. If that |
---|
1159 | doesn't work, return your local Kermit to Command state (Ctrl-\e C) and |
---|
1160 | type "e-packet" and then press the Return or Enter key; this forces a |
---|
1161 | fatal Kermit protocol error. |
---|
1162 | .TP |
---|
1163 | Remote Server state |
---|
1164 | This is like Remote File-transfer state, except it never returns |
---|
1165 | automatically to Command state. Rather, it awaits further instructions |
---|
1166 | from the client program; that is, from your Local Kermit program. You |
---|
1167 | can return the Remote Server to its previous state by issuing a |
---|
1168 | "finish" command to the client, or if you are in Connect state, by |
---|
1169 | typing three Ctrl-C's in a row. You can tell the server job to log out |
---|
1170 | and break the connection by issuing a "bye" command to the client. |
---|
1171 | .TP |
---|
1172 | Local Server state |
---|
1173 | Like Remote-Server state, but in local mode, and therefore with its |
---|
1174 | file-transfer display showing, and listening for single-key commands, |
---|
1175 | as in Local File-transfer state. Usually this state is entered |
---|
1176 | automatically when a remote Kermit program gives a GET command. |
---|
1177 | .sp |
---|
1178 | C-Kermit, Kermit 95, and MS-DOS Kermit all can switch automatically from |
---|
1179 | Connect state to Local File-transfer state when you initiate a file |
---|
1180 | transfer from the remote computer by starting Kermit and telling it to send |
---|
1181 | or get a file, in which case, Connect state is automatically resumed after |
---|
1182 | the file transfer is finished. |
---|
1183 | .sp |
---|
1184 | Note that C-Kermit is not a terminal emulator. It is a communications |
---|
1185 | application that you run in a terminal window (e.g. console or Xterm). The |
---|
1186 | specific emulation, such as VT100, VT220, Linux Console, or Xterm, is |
---|
1187 | provided by the terminal window in which you are running C-Kermit. Kermit |
---|
1188 | 95 and MS-DOS Kermit, on the other hand, are true terminal emulators. Why |
---|
1189 | is C-Kermit not a terminal emulator? CLICK HERE to read about it. |
---|
1190 | .SH MAKING CONNECTIONS |
---|
1191 | Here is how to make different kinds of connections using interactive Kermit |
---|
1192 | commands (as noted above, you can also make connections with command-line |
---|
1193 | options). Note that you don't have to make connections with Kermit. It can |
---|
1194 | also be used on the far end of a connection as the remote file transfer and |
---|
1195 | management partner of your local communications software. |
---|
1196 | .TP |
---|
1197 | Making a Telnet Connection |
---|
1198 | At the C-Kermit command prompt, simply type: |
---|
1199 | .sp |
---|
1200 | .nf |
---|
1201 | telnet foo.bar.com |
---|
1202 | .fi |
---|
1203 | .sp |
---|
1204 | (substituting desired hostname or address). |
---|
1205 | You can also include a port number: |
---|
1206 | .sp |
---|
1207 | .nf |
---|
1208 | telnet xyzcorp.com 3000 ; |
---|
1209 | .fi |
---|
1210 | .sp |
---|
1211 | If the connection is successful, Kermit automically enters Connect |
---|
1212 | state. When you logout from the remote host, Kermit automatically |
---|
1213 | returns to its prompt. More info: HELP TELNET, HELP SET TELNET, HELP |
---|
1214 | SET TELOPT. Also see the IKSD section below. |
---|
1215 | .TP |
---|
1216 | Making an Rlogin connection |
---|
1217 | This is just like Telnet, except you have to be root to do it because |
---|
1218 | Rlogin uses a privileged TCP port: |
---|
1219 | .sp |
---|
1220 | .nf |
---|
1221 | rlogin foo.bar.com |
---|
1222 | .fi |
---|
1223 | .sp |
---|
1224 | More info: HELP RLOGIN. |
---|
1225 | .TP |
---|
1226 | Making an SSH Connection |
---|
1227 | Unlike Telnet and Rlogin, SSH connections are not built-in, but |
---|
1228 | handled by running your external SSH client through a pseudoterminal. |
---|
1229 | Using C-Kermit to control the SSH client gives you all of Kermit's |
---|
1230 | features (file transfer, character-set conversion, scripting, etc) |
---|
1231 | over SSH. |
---|
1232 | .sp |
---|
1233 | ssh foo.bar.com |
---|
1234 | .sp |
---|
1235 | More info: HELP SSH, HELP SET SSH. |
---|
1236 | .TP |
---|
1237 | Dialing with a Modem |
---|
1238 | If it's an external modem, make sure it is connected to a usable |
---|
1239 | serial port on your computer with a regular (straight-through) modem |
---|
1240 | cable, and to the telephone jack with a telephone cable, and that it's |
---|
1241 | turned on. Then use these commands: |
---|
1242 | .sp |
---|
1243 | .nf |
---|
1244 | set modem type usrobotics ; Or other supported type |
---|
1245 | set line /dev/ttyS0 ; Specify device name |
---|
1246 | set speed 57600 ; Or other desired speed |
---|
1247 | set flow rts/cts ; Most modern modems support this |
---|
1248 | set dial method tone ; (or pulse) |
---|
1249 | dial 7654321 ; Dial the desired number |
---|
1250 | .fi |
---|
1251 | .sp |
---|
1252 | Type "set modem type ?" for a list of supported modem types. If you |
---|
1253 | omit the SET MODEM TYPE command, the default type is |
---|
1254 | "generic-high-speed", which should work for most modern AT-command-set |
---|
1255 | modems. If the line is busy, Kermit redials automatically. If the call |
---|
1256 | does not succeed, use "set dial display on" and try it again to watch |
---|
1257 | what happens. If the call succeeds, Kermit enters Connect state |
---|
1258 | automatically and returns to its prompt automatically when you log out |
---|
1259 | from the remote computer or the connection is otherwise lost. |
---|
1260 | .sp |
---|
1261 | You can also dial from a modem that is accessible by Telnet, e.g. to a |
---|
1262 | reverse terminal server. In this case the command sequence is: |
---|
1263 | .sp |
---|
1264 | .nf |
---|
1265 | set host ts.xxx.com 2000 ; Terminal-server and port |
---|
1266 | set modem type usrobotics ; Or other supported type |
---|
1267 | set dial method tone ; (or pulse) |
---|
1268 | dial 7654321 ; Dial the desired number |
---|
1269 | .fi |
---|
1270 | .sp |
---|
1271 | If the terminal server supports the Telnet Com Port Option, RFC 2217, |
---|
1272 | you can also give serial-port related commands such as SET SPEED, SET |
---|
1273 | PARITY, and so on, and Kermit relays them to the terminal server using |
---|
1274 | the protocol specified in the RFC. |
---|
1275 | .sp |
---|
1276 | More info: HELP SET MODEM, HELP SET LINE, HELP SET SPEED, HELP SET |
---|
1277 | FLOW, HELP DIAL, HELP SET DIAL, HELP SET MODEM, HELP SET |
---|
1278 | CARRIER-WATCH, SHOW COMMUNICATIONS, SHOW MODEM, SHOW DIAL. |
---|
1279 | .TP |
---|
1280 | Direct Serial Port |
---|
1281 | Connect the two computers, A and B, with a null modem cable (or two |
---|
1282 | modem cables interconnected with a null-modem adapter or modem |
---|
1283 | eliminator). From Computer A: |
---|
1284 | .sp |
---|
1285 | .nf |
---|
1286 | set modem type none ; There is no modem |
---|
1287 | set line /dev/ttyS0 ; Specify device name |
---|
1288 | set carrier-watch off ; If DTR CD are not cross-connected |
---|
1289 | set speed 57600 ; Or other desired speed |
---|
1290 | set flow rts/cts ; If RTS and CTS are cross-connected |
---|
1291 | set parity even ; (or "mark" or "space", if necessary) |
---|
1292 | set stop-bits 2 ; (rarely necessary) |
---|
1293 | set flow xon/xoff ; If you can't use RTS/CTS |
---|
1294 | connect ; Enter Connect (terminal) state |
---|
1295 | .fi |
---|
1296 | .sp |
---|
1297 | This assumes Computer B is set up to let you log in. If it isn't, you |
---|
1298 | can run a copy of Kermit on Computer B and follow approximately the |
---|
1299 | same directions. More info: As above plus HELP CONNECT. |
---|
1300 | .PP |
---|
1301 | With modems or direct serial connections, you might also have to "set |
---|
1302 | parity even" (or "mark" or "space") if it's a 7-bit connection. |
---|
1303 | .PP |
---|
1304 | Of the connection types listed above, only one can be open at a time. |
---|
1305 | However, any one of these can be open concurrently with an FTP or HTTP |
---|
1306 | session. Each connection type can be customized to any desired degree, |
---|
1307 | scripted, logged, you name it. See the manual. |
---|
1308 | .PP |
---|
1309 | NOTE: On selected platforms, C-Kermit also can make X.25 connections. See |
---|
1310 | the manual for details. |
---|
1311 | .SH TRANSFERRING FILES WITH KERMIT |
---|
1312 | There is a widespread and persistent belief that Kermit is a slow protocol. |
---|
1313 | This is because, until recently, it used conservative tuning by default to |
---|
1314 | make sure file transfers succeeded, rather than failing because they |
---|
1315 | overloaded the connection. Some extra commands (or command-line options, |
---|
1316 | like -Q) were needed to make it go fast, but nobody bothered to find out |
---|
1317 | about them. Also, it takes two to tango: most non-Kermit-Project Kermit |
---|
1318 | protocol implementations really ARE slow. The best file-transfer partners |
---|
1319 | for C-Kermit are: another copy of C-Kermit (7.0 or later) and Kermit 95. |
---|
1320 | These combinations work well and they work fast by default. MS-DOS Kermit |
---|
1321 | is good too, but you have to tell it to go fast (by giving it the FAST |
---|
1322 | command). |
---|
1323 | .PP |
---|
1324 | Furthermore, all three of these Kermit programs support "autodownload" and |
---|
1325 | "autoupload", meaning that when they are in Connect state and a Kermit |
---|
1326 | packet comes in from the remote, they automatically switch into file |
---|
1327 | transfer mode. |
---|
1328 | .PP |
---|
1329 | And plus, C-Kermit and K95 also switch automatically between text and |
---|
1330 | binary mode for each file, so there is no need to "set file type binary" or |
---|
1331 | "set file type text", or to worry about files being corrupted because they |
---|
1332 | were transferred in the wrong mode. |
---|
1333 | .PP |
---|
1334 | What all of these words add up to is that now, when you use up-to-date |
---|
1335 | Kermit software from the Kermit Project, file transfer is not only fast, |
---|
1336 | it's ridiculously easy. You barely have to give any commands at all. |
---|
1337 | .TP |
---|
1338 | Downloading Files |
---|
1339 | Let's say you have Kermit 95, C-Kermit, or MS-DOS Kermit on your |
---|
1340 | desktop computer, with a connection to a Unix computer that has |
---|
1341 | C-Kermit installed as "kermit". To download a file (send it from Unix |
---|
1342 | to your desktop computer), just type the following command at your |
---|
1343 | Unix shell prompt: |
---|
1344 | .sp |
---|
1345 | kermit -s oofa.txt |
---|
1346 | .sp |
---|
1347 | (where oofa.txt is the filename). If you want to send more than one |
---|
1348 | file, you can put as many filenames as you want on the command line, |
---|
1349 | and they can be any combination of text and binary: |
---|
1350 | .sp |
---|
1351 | kermit -s oofa.txt oofa.zip oofa.html oofa.tar.gz |
---|
1352 | .sp |
---|
1353 | and/or you can use wildcards to send groups of files: |
---|
1354 | .sp |
---|
1355 | kermit -s oofa.* |
---|
1356 | .sp |
---|
1357 | If you want to send a file under an assumed name, use: |
---|
1358 | .sp |
---|
1359 | kermit -s friday.txt -a today.txt |
---|
1360 | .sp |
---|
1361 | This sends the file friday.txt but tells the receiving Kermit that its |
---|
1362 | name is today.txt. In all cases, as noted, when the file transfer is |
---|
1363 | finished, your desktop Kermit returns automatically to Connect state. |
---|
1364 | No worries about escaping back, re-connecting, text/binary mode |
---|
1365 | switching. Almost too easy, right? |
---|
1366 | .TP |
---|
1367 | Uploading Files |
---|
1368 | To upload files (send them from your desktop computer to the remote |
---|
1369 | Unix computer) do the same thing, but use the -g (GET) option instead |
---|
1370 | of -s: |
---|
1371 | .sp |
---|
1372 | kermit -g oofa.txt |
---|
1373 | .sp |
---|
1374 | This causes your local Kermit to enter server mode; then the remote |
---|
1375 | Kermit program requests the named file and the local Kermit sends it |
---|
1376 | and returns automatically to Connect state when done. |
---|
1377 | .sp |
---|
1378 | If you want to upload multiple files, you have have use shell quoting |
---|
1379 | rules, since these aren't local files: |
---|
1380 | .sp |
---|
1381 | .nf |
---|
1382 | kermit -g "oofa.txt oofa.zip oofa.html oofa.tar.gz" |
---|
1383 | kermit -g "oofa.*" |
---|
1384 | .fi |
---|
1385 | .sp |
---|
1386 | If you want to upload a file but store it under a different name, use: |
---|
1387 | .sp |
---|
1388 | kermit -g friday.txt -a today.txt |
---|
1389 | .TP |
---|
1390 | Kermit Transfers the Old-Fashioned Way |
---|
1391 | If your desktop communications software does not support autoupload or |
---|
1392 | autodownload, or it does not include Kermit server mode, the procedure |
---|
1393 | requires more steps. |
---|
1394 | .sp |
---|
1395 | To download a file, type: |
---|
1396 | .sp |
---|
1397 | kermit -s filename |
---|
1398 | .sp |
---|
1399 | on the host as before, but if nothing happens automatically in |
---|
1400 | response to this command, you have to switch your desktop |
---|
1401 | communications software into Kermit Receive state. This might be done |
---|
1402 | by escaping back using keyboard characters or hot keys (Alt-x is |
---|
1403 | typical) and/or with a command (like RECEIVE) or a menu. When the file |
---|
1404 | transfer is complete, you have to go back to Connect state, Terminal |
---|
1405 | emulation, or whatever terminology applies to your desktop |
---|
1406 | communications software. |
---|
1407 | .sp |
---|
1408 | To upload a file, type: |
---|
1409 | .sp |
---|
1410 | kermit -r |
---|
1411 | .sp |
---|
1412 | on the host (rather than "kermit -g"). This tells C-Kermit to wait |
---|
1413 | passively for a file to start arriving. Then regain the attention of |
---|
1414 | your desktop software (Alt-x or whatever) and instruct it to send the |
---|
1415 | desired file(s) with Kermit protocol. When the transfer is finished, |
---|
1416 | return to the Connect or Terminal screen. |
---|
1417 | .TP |
---|
1418 | If File Transfer Fails |
---|
1419 | Although every aspect of Kermit's operation can be finely tuned, there |
---|
1420 | are also three short and simple "omnibus tuning" commands you can use |
---|
1421 | for troubleshooting: |
---|
1422 | .RS |
---|
1423 | .TP |
---|
1424 | FAST |
---|
1425 | Use fast file-transfer settings. This has been the default since |
---|
1426 | C-Kermit 7.0 now that most modern computers and connections |
---|
1427 | support it. If transfers fail with fast settings, try . . . |
---|
1428 | .TP |
---|
1429 | CAUTIOUS |
---|
1430 | Use cautious but not paranoid settings. File transfers, if they |
---|
1431 | work, will go at medium speed. If not, try . . . |
---|
1432 | .TP |
---|
1433 | ROBUST |
---|
1434 | Use the most robust, resilient, conservative, safe, and reliable |
---|
1435 | settings. File transfers will almost certainly work, but they |
---|
1436 | will be quite slow (of course this is a classic tradeoff; ROBUST |
---|
1437 | was C-Kermit's default tuning in versions 6.0 and earlier, which |
---|
1438 | made everybody think Kermit protocol was slow). If ROBUST doesn't |
---|
1439 | do the trick, try again with SET PARITY SPACE first in case it's |
---|
1440 | not an 8-bit connection. |
---|
1441 | .RE |
---|
1442 | .sp |
---|
1443 | Obviously the success and performance of a file transfer also depends |
---|
1444 | on C-Kermit's file transfer partner. Up-to-date, real Kermit Project |
---|
1445 | partners are recommended because they contain the best Kermit protocol |
---|
1446 | implementations and because we can support them in case of trouble. |
---|
1447 | .sp |
---|
1448 | If you still have trouble, consult Chapter 10 of Using C-Kermit, or |
---|
1449 | send email to kermit-support@columbia.edu. |
---|
1450 | .TP |
---|
1451 | Advanced Kermit File-Transfer Features |
---|
1452 | Obviously there is a lot more to Kermit file transfer, including all |
---|
1453 | sorts of interactive commands, preferences, options, logging, |
---|
1454 | debugging, troubleshooting, and anything else you can imagine but |
---|
1455 | that's what the manual and updates are for. Here are a few topics you |
---|
1456 | can explore if you're interested by Typing HELP for the listed |
---|
1457 | commands: |
---|
1458 | .RS |
---|
1459 | .TP |
---|
1460 | Logging transfers: |
---|
1461 | LOG TRANSACTIONS (HELP LOG) |
---|
1462 | .TP |
---|
1463 | Automatic per-file text/binary mode switching: |
---|
1464 | SET TRANSFER MODE { AUTOMATIC, MANUAL } (HELP SET TRANSFER). |
---|
1465 | .TP |
---|
1466 | Cross-platform recursive directory tree transfer: |
---|
1467 | SEND /RECURSIVE, GET /RECURSIVE (HELP SEND, HELP GET). |
---|
1468 | .TP |
---|
1469 | File collision options: |
---|
1470 | SET FILE COLLISION { OVERWRITE, BACKUP, DISCARD, ... } (HELP SET FILE). |
---|
1471 | .TP |
---|
1472 | Update: Transfer only files that changed since last time: |
---|
1473 | SET FILE COLLISION UPDATE (HELP SET FILE). |
---|
1474 | .TP |
---|
1475 | Filename selection patterns: |
---|
1476 | (HELP WILDCARD). |
---|
1477 | .TP |
---|
1478 | Flexible file selection: |
---|
1479 | SEND (or GET) /BEFORE /AFTER /LARGER /SMALLER /TYPE /EXCEPT, ... |
---|
1480 | .TP |
---|
1481 | Character-set conversion: |
---|
1482 | SET { FILE, TRANSFER } CHARACTER-SET, ASSOCIATE, ... |
---|
1483 | .TP |
---|
1484 | File/Pathname control: |
---|
1485 | SET { SEND, RECEIVE } PATHNAMES, SET FILE NAMES. |
---|
1486 | .TP |
---|
1487 | Atomic file movement: |
---|
1488 | SEND (or GET) /DELETE /RENAME /MOVE-TO |
---|
1489 | .TP |
---|
1490 | Transferring to/from standard i/o of other commands: |
---|
1491 | SEND (or GET) /COMMAND |
---|
1492 | .TP |
---|
1493 | Recovery of interrupted transfer from point of failure: |
---|
1494 | RESEND, REGET (HELP RESEND, HELP REGET). |
---|
1495 | .RE |
---|
1496 | .TP |
---|
1497 | Non-Kermit File Transfer |
---|
1498 | You can also use C-Kermit to transfer files with FTP or HTTP Internet |
---|
1499 | protocols; see below. |
---|
1500 | .sp |
---|
1501 | On a regular serial or Telnet connection where the other computer |
---|
1502 | doesn't support Kermit protocol at all, you have several options. For |
---|
1503 | example, if your desktop communications software supports Zmodem, use |
---|
1504 | "rz" and "sz" on the host rather than Kermit. But if Kermit is your |
---|
1505 | desktop software, and you are using it to make calls or network |
---|
1506 | connections to other computers that don't support Kermit protocol (or |
---|
1507 | that don't have a good implementation of it), then if your computer |
---|
1508 | also has external X, Y, or Zmodem programs that are redirectable, |
---|
1509 | Kermit can use them as external protocols. HELP SET PROTOCOL for |
---|
1510 | details. |
---|
1511 | .sp |
---|
1512 | You can also capture "raw" data streams from the other computer with |
---|
1513 | LOG SESSION (HELP LOG and HELP SET SESSION-LOG for details), and you |
---|
1514 | can upload files without any protocol at all with TRANSMIT (HELP |
---|
1515 | TRANSMIT, HELP SET TRANSMIT). |
---|
1516 | .SH KERMIT'S BUILT-IN FTP AND HTTP CLIENTS |
---|
1517 | Kermit's FTP client is like the regular Unix FTP client that you're used |
---|
1518 | to, but with some differences: |
---|
1519 | .TP |
---|
1520 | \(bu |
---|
1521 | It has lots more commands and features. |
---|
1522 | .TP |
---|
1523 | \(bu |
---|
1524 | Each FTP command must be prefixed with "ftp", for example "ftp open", |
---|
1525 | "ftp get", "ftp bye", etc (this is not strictly true, but until you're |
---|
1526 | more familiar with it, it's best to follow this rule). |
---|
1527 | .TP |
---|
1528 | \(bu |
---|
1529 | Commands like "cd", "directory", etc, execute locally, not on the |
---|
1530 | server. Use "ftp cd", "ftp dir", etc, to have them act on the server. |
---|
1531 | .TP |
---|
1532 | \(bu |
---|
1533 | You can have an FTP session and a regular Kermit serial or Telnet |
---|
1534 | session open at the same time. |
---|
1535 | .TP |
---|
1536 | \(bu |
---|
1537 | FTP sessions can be fully automated. |
---|
1538 | .PP |
---|
1539 | Pending publication of the next edition of the manual, the Kermit FTP |
---|
1540 | client is thoroughly documented at the Kermit Project website: |
---|
1541 | .sp |
---|
1542 | http://www.columbia.edu/kermit/ftpclient.html |
---|
1543 | .sp |
---|
1544 | You also can use HELP FTP and HELP SET FTP to get descriptions of Kermit's |
---|
1545 | FTP-related commands. |
---|
1546 | .PP |
---|
1547 | The HTTP client is similar to the FTP one, except you prefix each command |
---|
1548 | with HTTP instead of FTP: HTTP OPEN, HTTP GET, HTTP PUT, HTTP CLOSE, etc. |
---|
1549 | Type HELP HTTP for details, or visit the to view the manual supplements. |
---|
1550 | HTTP connections can be open at the same time as regular serial or Telnet |
---|
1551 | connections and FTP connections. So Kermit can manage up to three types |
---|
1552 | connections simultaneously. |
---|
1553 | .SH INTERNET KERMIT SERVICE |
---|
1554 | C-Kermit can be configured and run as an Internet service (called IKSD), |
---|
1555 | similar to an FTP server (FTPD) except you can (but need not) interact with |
---|
1556 | it directly, plus it does a lot more than an FTP server can do. The TCP |
---|
1557 | port for IKSD is 1649. It uses Telnet protocol. C-Kermit can be an Internet |
---|
1558 | Kermit Server, or it can be a client of an IKSD. You can make connections |
---|
1559 | from C-Kermit to an IKSD with any of the following commands: |
---|
1560 | .sp |
---|
1561 | .nf |
---|
1562 | telnet foo.bar.edu 1649 |
---|
1563 | telnet foo.bar.edu kermit ; if "kermit" is listed in /etc/services |
---|
1564 | iksd foo.bar.edu |
---|
1565 | .fi |
---|
1566 | .sp |
---|
1567 | The IKSD command is equivalent to a TELNET command specifying port 1649. |
---|
1568 | For more information about making and using connections to an IKSD, see: |
---|
1569 | .sp |
---|
1570 | http://www.columbia.edu/kermit/cuiksd.html |
---|
1571 | .sp |
---|
1572 | You can run an Internet Kermit Service on your own computer too (if you are |
---|
1573 | the system administrator). For instructions, see: |
---|
1574 | .sp |
---|
1575 | http://www.columbia.edu/kermit/iksd.html |
---|
1576 | .SH SECURITY |
---|
1577 | All of C-Kermit's built-in TCP/IP networking methods (Telnet, Rlogin, IKSD, |
---|
1578 | FTP, and HTTP) can be secured by one or more of the following IETF-approved |
---|
1579 | methods: |
---|
1580 | .PP |
---|
1581 | \(bu MIT Kerberos IV |
---|
1582 | .br |
---|
1583 | \(bu MIT Kerberos V |
---|
1584 | .br |
---|
1585 | \(bu SSL/TLS |
---|
1586 | .br |
---|
1587 | \(bu Stanford SRP |
---|
1588 | .PP |
---|
1589 | For complete instructions see: |
---|
1590 | .PP |
---|
1591 | http://www.columbia.edu/kermit/security.html |
---|
1592 | .PP |
---|
1593 | And as noted previously, you can also make SSH connections with C-Kermit if |
---|
1594 | you already have an SSH client installed. |
---|
1595 | .SH ALTERNATIVE COMMAND-LINE PERSONALITIES |
---|
1596 | When invoked as "kermit" or any other name besides "ftp" or "telnet", |
---|
1597 | C-Kermit has the command-line options described above in the OPTIONS |
---|
1598 | section. However, if you invoke C-Kermit as "telnet" or "ftp", it changes |
---|
1599 | its command-line personality to match. This can be done (among other ways) |
---|
1600 | with symbolic links (symlinks). For example, if you want C-Kermit to be |
---|
1601 | your regular Telnet client, or the Telnet helper of your Web browser, you |
---|
1602 | can create a link like the following in a directory that lies in your PATH |
---|
1603 | ahead of the regular telnet program: |
---|
1604 | .sp |
---|
1605 | ln -s /usr/local/bin/kermit telnet |
---|
1606 | .sp |
---|
1607 | Now when you give a "telnet" command, you are invoking Kermit instead, but |
---|
1608 | with its Telnet command-line personality so, for example: |
---|
1609 | .sp |
---|
1610 | telnet xyzcorp.com |
---|
1611 | .sp |
---|
1612 | Makes a Telnet connection to xyzcorp.com, and Kermit exits automatically |
---|
1613 | when the connection is closed (just like the regular Telnet client). Type |
---|
1614 | "telnet -h" to get a list of Kermit's Telnet-personality command-line |
---|
1615 | options, which are intended to be as compatible as possible with the |
---|
1616 | regular Telnet client. |
---|
1617 | .PP |
---|
1618 | Similarly for FTP: |
---|
1619 | .sp |
---|
1620 | ln -s /usr/local/bin/kermit ftp |
---|
1621 | .sp |
---|
1622 | And now type "ftp -h" to see its command-line options, and command lines |
---|
1623 | just like you would give your regular FTP client: |
---|
1624 | .sp |
---|
1625 | ftp xyzcorp.com |
---|
1626 | .sp |
---|
1627 | but with additional options allowing an entire session to be specified on |
---|
1628 | the command line. Finally, if Kermit's |
---|
1629 | first command-line option is a Telnet, FTP, IKSD, or HTTP URL, Kermit |
---|
1630 | automatically makes the appropriate kind of connection and, if indicated by |
---|
1631 | the URL, takes the desired action: |
---|
1632 | .TP |
---|
1633 | kermit telnet:xyzcorp.com |
---|
1634 | Opens a Telnet session |
---|
1635 | .TP |
---|
1636 | kermit telnet://olga@xyzcorp.com |
---|
1637 | Ditto for user olga |
---|
1638 | .TP |
---|
1639 | kermit ftp://olga@xyzcorp.com/public/oofa.zip |
---|
1640 | Downloads a file |
---|
1641 | .TP |
---|
1642 | kermit kermit://kermit.columbia.edu/kermit/f/READ.ME |
---|
1643 | Ditto for IKSD |
---|
1644 | .TP |
---|
1645 | kermit iksd://kermit.columbia.edu/kermit/f/READ.ME |
---|
1646 | (This works too) |
---|
1647 | .TP |
---|
1648 | kermit http://www.columbia.edu/kermit/index.html |
---|
1649 | Grabs a web page |
---|
1650 | .fi |
---|
1651 | .SH LICENSE |
---|
1652 | C-Kermit has an unusual license, but a fair and sensible one since the |
---|
1653 | Kermit Project must support itself out of revenue: it's not a BSD license, |
---|
1654 | not GPL, not Artistic, not commercial, not shareware, not freeware. It can |
---|
1655 | be summed up like this: if you want C-Kermit for your own use, you can |
---|
1656 | download and use it without cost or license (but we'd appreciate it if you |
---|
1657 | would purchase the manual). But if you want to sell C-Kermit or bundle it |
---|
1658 | with a product or otherwise distribute it in a commercial setting EXCEPT |
---|
1659 | WITH AN OPEN-SOURCE OPERATING SYSTEM DISTRIBUTION such as Linux, FreeBSD, |
---|
1660 | NetBSD, or OpenBSD, you must license it. To see the complete license, give |
---|
1661 | the LICENSE command at the prompt, or see the COPYING.TXT file distributed |
---|
1662 | with C-Kermit 7.0 or later, or download it from |
---|
1663 | .sp |
---|
1664 | ftp://kermit.columbia.edu/kermit/c-kermit/COPYING.TXT |
---|
1665 | .sp |
---|
1666 | Send licensing inquiries to kermit@columbia.edu. |
---|
1667 | .SH BUGS |
---|
1668 | See the following files for listings of known bugs, limitations, |
---|
1669 | workarounds, hints and tips: |
---|
1670 | .TP |
---|
1671 | ckcbwr.txt |
---|
1672 | General C-Kermit bugs, hints, tips. |
---|
1673 | .TP |
---|
1674 | ckubwr.txt |
---|
1675 | Unix-specific C-Kermit bugs, hints, tips. |
---|
1676 | .PP |
---|
1677 | Report bugs and problems by email to: |
---|
1678 | .sp |
---|
1679 | kermit-support@columbia.edu. |
---|
1680 | .sp |
---|
1681 | Before requesting technical support, please read the hints here: |
---|
1682 | .sp |
---|
1683 | http://www.columbia.edu/kermit/support.html |
---|
1684 | .sp |
---|
1685 | and also read the C-Kermit Frequently Asked Questions: |
---|
1686 | .sp |
---|
1687 | http://www.columbia.edu/kermit/ckfaq.html |
---|
1688 | .SH OTHER TOPICS |
---|
1689 | There's way more to C-Kermit than we've touched on here -- troubleshooting, |
---|
1690 | customization, character sets, dialing directories, sending pages, script |
---|
1691 | writing, and on and on, all of which are covered in the manual and updates |
---|
1692 | and supplements. For the most up-to-date information on documentation (or |
---|
1693 | updated documentation itself) visit the Kermit Project website: |
---|
1694 | .sp |
---|
1695 | http://www.columbia.edu/kermit/ |
---|
1696 | .PP |
---|
1697 | There you will also find Kermit software packages for other platforms: |
---|
1698 | different Unix varieties, Windows, DOS, VMS, IBM mainframes, and many |
---|
1699 | others: 20+ years' worth. |
---|
1700 | .SH DOCUMENTATION AND UPDATES |
---|
1701 | The manual for C-Kermit is: |
---|
1702 | .TP |
---|
1703 | .I |
---|
1704 | Using C-Kermit |
---|
1705 | Frank da Cruz and Christine M. Gianone, |
---|
1706 | Second Edition, Digital Press / Butterworth-Heinemann, Woburn, MA, 1997, 622 |
---|
1707 | pages, ISBN 1-55558-164-1. This is a printed book. It covers C-Kermit 6.0. |
---|
1708 | .TP |
---|
1709 | The C-Kermit 7.0 Supplement |
---|
1710 | http://www.columbia.edu/kermit/ckermit2.html |
---|
1711 | .TP |
---|
1712 | The C-Kermit 8.0 Supplement |
---|
1713 | http://www.columbia.edu/kermit/ckermit3.html |
---|
1714 | .PP |
---|
1715 | Visit C-Kermit home page: |
---|
1716 | .sp |
---|
1717 | http://www.columbia.edu/kermit/ckermit.html |
---|
1718 | .sp |
---|
1719 | to learn about new versions, Beta tests, and other news; to |
---|
1720 | read case studies and tutorials; to download source code, install packages, |
---|
1721 | and prebuilt binaries for many platforms. Also visit: |
---|
1722 | .TP |
---|
1723 | http://www.columbia.edu/kermit/scriptlib.html |
---|
1724 | The Kermit script library and tutorial |
---|
1725 | .TP |
---|
1726 | http://www.columbia.edu/kermit/newfaq.html |
---|
1727 | The Kermit FAQ (Frequently Asked Questions about Kermit) |
---|
1728 | .TP |
---|
1729 | http://www.columbia.edu/kermit/ckfaq.html |
---|
1730 | The C-Kermit FAQ (Frequently Asked Questions about C-Kermit) |
---|
1731 | .TP |
---|
1732 | http://www.columbia.edu/kermit/telnet.html |
---|
1733 | C-Kermit Telnet client documentation |
---|
1734 | .TP |
---|
1735 | http://www.columbia.edu/kermit/security.html |
---|
1736 | C-Kermit security documentation (Kerberos, SSL/TLS, etc) |
---|
1737 | .TP |
---|
1738 | http://www.columbia.edu/kermit/cuiksd.html |
---|
1739 | Internet Kermit Service user documentation |
---|
1740 | .TP |
---|
1741 | http://www.columbia.edu/kermit/iksd.html |
---|
1742 | Internet Kermit Service administrator documentation |
---|
1743 | .TP |
---|
1744 | http://www.columbia.edu/kermit/studies.html |
---|
1745 | Case studies. |
---|
1746 | .TP |
---|
1747 | http://www.columbia.edu/kermit/support.html |
---|
1748 | Technical support. |
---|
1749 | .TP |
---|
1750 | http://www.columbia.edu/kermit/k95tutorial.html |
---|
1751 | Kermit 95 tutorial. |
---|
1752 | .TP |
---|
1753 | comp.protocols.kermit.misc |
---|
1754 | The Kermit newsgroup (unmoderated). |
---|
1755 | .SH FILES |
---|
1756 | .TP |
---|
1757 | COPYING.TXT |
---|
1758 | C-Kermit license. |
---|
1759 | .TP |
---|
1760 | ~/.kermrc |
---|
1761 | Initialization file. |
---|
1762 | .TP |
---|
1763 | ~/.mykermrc |
---|
1764 | Customization file. |
---|
1765 | .TP |
---|
1766 | ~/.kdd |
---|
1767 | Kermit dialing directory (see manual). |
---|
1768 | .TP |
---|
1769 | ~/.knd |
---|
1770 | Kermit network directory (see manual). |
---|
1771 | .TP |
---|
1772 | ~/.ksd |
---|
1773 | Kermit services directory (see manual). |
---|
1774 | .TP |
---|
1775 | ca_certs.pem |
---|
1776 | Certificate Authority certifcates used for SSL connections. |
---|
1777 | .TP |
---|
1778 | ckuins.txt |
---|
1779 | Installation instructions for Unix. Also at |
---|
1780 | http://www.columbia.edu/kermit/ckuins.html. |
---|
1781 | .TP |
---|
1782 | ckcbwr.txt |
---|
1783 | General C-Kermit bugs, hints, tips. |
---|
1784 | .TP |
---|
1785 | ckubwr.txt |
---|
1786 | Unix-specific C-Kermit bugs, hints, tips. |
---|
1787 | .TP |
---|
1788 | ckcplm.txt |
---|
1789 | C-Kermit program logic manual. |
---|
1790 | .TP |
---|
1791 | ckccfg.txt |
---|
1792 | C-Kermit compile-time configuration options. |
---|
1793 | .TP |
---|
1794 | ssh |
---|
1795 | (in your PATH) SSH connection helper. |
---|
1796 | .TP |
---|
1797 | rz, sz, etc. |
---|
1798 | (in your PATH) external protocols for XYZmodem. |
---|
1799 | .TP |
---|
1800 | /var/spool/locks (or whatever) |
---|
1801 | UUCP lockfile for dialing out (see installation instructions). |
---|
1802 | .SH AUTHORS |
---|
1803 | .TP |
---|
1804 | Software |
---|
1805 | Frank da Cruz and Jeffrey E Altman, |
---|
1806 | .br |
---|
1807 | 1985-present, with contributions from hundreds of others all over the |
---|
1808 | world. |
---|
1809 | .TP |
---|
1810 | Documentation |
---|
1811 | Frank da Cruz and Christine M Gianone |
---|
1812 | .TP |
---|
1813 | Address |
---|
1814 | .nf |
---|
1815 | The Kermit Project - Columbia Univerity |
---|
1816 | 612 West 115th Street |
---|
1817 | New York NY 10025-7799 |
---|
1818 | USA |
---|
1819 | .fi |
---|
1820 | .TP |
---|
1821 | E-Mail |
---|
1822 | kermit@columbia.edu |
---|
1823 | .TP |
---|
1824 | Web |
---|
1825 | http://www.columbia.edu/kermit/ |
---|
1826 | .fi |
---|
1827 | .br |
---|