| .\" @(#) kermit.1 8.0.211 2004/04/10 Columbia University |
| .TH KERMIT 1 "APRIL 2004" "User Manuals" |
| .na |
| .SH NAME |
| kermit \- |
| .B C-Kermit 8.0: |
| transport- and platform-independent |
| interactive and scriptable communications software. |
| .IP |
| |
| This document is intended to give the beginner sufficient information to make |
| basic (if not advanced) use of C-Kermit 8.0. Although it might be rather long |
| for a Unix manual page, it's still far shorter than the C-Kermit manual, which |
| should be consulted for advanced topics such as customization, character-sets, |
| scripting, etc. We also attempt to provide a clear structural overview of |
| C-Kermit's many capabilities, functional areas, states, and modes and their |
| interrelation, that should be helpful to beginners and veterans alike, as well |
| as to those upgrading to version 8.0 from earlier releases. |
| .PP |
| This document is also available as a Web page at: |
| .IP |
| http://www.columbia.edu/kermit/ckututor.html |
| .SH DESCRIPTION |
| C-Kermit is an all-purpose communications software package from the Kermit |
| Project at Columbia University that: |
| .PP |
| .nf |
| \(bu Is portable to many platforms, Unix and non-Unix alike. |
| .br |
| \(bu Can make both serial and network connections. |
| .br |
| \(bu Can conduct interactive terminal sessions over its connection. |
| .br |
| \(bu Can transfer text or binary files over the same connection. |
| .br |
| \(bu Can convert character sets in the terminal session. |
| .br |
| \(bu Can convert character sets during text-file file transfer. |
| .br |
| \(bu Is customizable in every aspect of its operation. |
| .fi |
| .PP |
| C-Kermit is a modem program, a Telnet client, an Rlogin client, an FTP |
| client, an HTTP client, and on selected platforms, also an X.25 client. It |
| can make its own secure Internet connections using IETF-approved security |
| methods including Kerberos IV, Kerberos V, SSL/TLS, and SRP and it can also |
| make SSH connections through your external SSH client application. It can |
| be the far-end file-transfer or client/server partner of your desktop |
| Kermit client. It can also accept incoming dialed and network connections. |
| It can even be installed as an Internet service on its own standard TCP |
| socket, 1649 [RFC2839, RFC2840]. |
| .PP |
| And perhaps most important, everything you can do "by hand" (interactively) |
| with C-Kermit, can be "scripted" (automated) using its built-in |
| cross-platform transport-independent script programming language, which |
| happens to be identical to its interactive command language. |
| .PP |
| This manual page offers an overview of C-Kermit 8.0 for Unix ("Unix" is an |
| operating system family that includes AIX, DG/UX, FreeBSD, HP-UX, IRIX, |
| Linux, Mac OS X, NetBSD, OpenBSD, Open Server, Open Unix, QNX, Solaris, |
| SunOS, System V R3, System V R4, Tru64 Unix, Unixware, Xenix, and many |
| others). For thorough coverage, please consult the published C-Kermit |
| manual and supplements (see DOCUMENTATION below). For further information |
| about C-Kermit, Kermit software for other platforms, and Kermit manuals, |
| visit the Kermit Project website: |
| .PP |
| http://www.columbia.edu/kermit/ |
| .PP |
| This is a longer-than-average manual page, and yet it barely scratches the |
| surface. Don't be daunted. C-Kermit is a large and complex package, |
| evolving over decades of practice and experience, but that doesn't mean |
| it's hard to learn or use. Its most commonly used functions are explained |
| here with pointers to additional information elsewhere. |
| .SH SYNOPSIS |
| .B kermit [ |
| .I filename |
| .B ] [ |
| .I options |
| .B ] [ {=,--,+} |
| .I text |
| .B ] ] |
| .PP |
| or: |
| .PP |
| .B kermit |
| .I URL |
| .PP |
| If the first command-line argument is the name of a file, interactive-mode |
| commands are executed from the file. The '=' (or "--") argument tells |
| Kermit not to parse the remainder of the command line, but to make the |
| words following '=' available as \e%1, \e%2, ... \e%9. The "+" argument is |
| like "=" but for use in "kerbang scripts" (explained below). A second |
| command-line format allows the one and only argument to be a Telnet, FTP, |
| HTTP, or IKSD URL. |
| .PP |
| Order of execution: |
| .TP |
| 1. |
| The command file (if any). |
| .TP |
| .nf |
| 2. |
| The initialization file, if any, unless suppressed with -Y. |
| .fi |
| .TP |
| 3. |
| The customization file (if it is executed by the initialization file). |
| .TP |
| 4. |
| The command-line URL (if any, and if so, execution stops here). |
| .TP |
| 5. |
| Command-line options (if any). |
| .TP |
| 6. |
| Interactive commands. |
| .PP |
| Some command-line options can cause actions (such as -s to send a file); |
| others just set parameters. If any action options are included on the |
| command line, Kermit exits when finished unless also given the -S ("stay") |
| option. If no action options are given, no initialization or command files |
| contained an EXIT or QUIT command, and no fatal errors occurred, Kermit |
| issues its prompt and waits for you to type commands. |
| .IP |
| Bear in mind that C-Kermit can be built with selected features |
| disabled, and also that certain features are not available on all |
| platforms. For example, C-Kermit can't be built with TCP/IP |
| support on a platform that does not have TCP/IP header files and |
| libraries (and even if Kermit does include TCP/IP support, it |
| can't be used to make TCP/IP connections on a computer that does |
| not have a TCP/IP stack installed). If your version of lacks |
| C-Kermit a feature mentioned here, use its SHOW FEATURES command to |
| see what might have been excluded. |
| .PP |
| C-Kermit has three kinds of commands: regular single-letter command-line |
| options, extended-format command-line options, and interactive commands. |
| .PP |
| Like most Unix commands, C-Kermit can be be given options on the command |
| line. But C-Kermit also can be used interactively by giving it commands |
| composed of words, which are more intuitive than cryptic command-line |
| options, and more flexible too. In other words, you don't have to use |
| C-Kermit's command-line options, but they are available if you want to. (By |
| the same token, you don't have to use its interactive commands either -- |
| you can use either or both in any combination.) |
| .PP |
| C-Kermit is generally installed in the PATH as "kermit", and therefore is |
| invoked by typing the word "kermit" (lowercase) at the shell prompt, and |
| then pressing the Return or Enter key. If you wish to include command-line |
| options, put them after the word "kermit" but before pressing Return or |
| Enter, separated by spaces, for example: |
| .PP |
| $ kermit -s ckermit.tar.gz |
| .PP |
| ('$' is the shell prompt; "kermit -s ckermit.tar.gz" is what you type, |
| followed by Return or Enter.) |
| .SH OPTIONS |
| Here is a list of C-Kermit's single-letter command-line options, which |
| start with a single dash (-), in ASCII ("alphabetical") order. Alphabetic |
| case is significant (-A is not the same as -a). Action options are |
| tagged "ACTION". |
| .TP |
| -0 |
| (digit zero) 100% transparent Connect state for |
| "in-the-middle" operation: 8 bits, no parity, no |
| escape character, everything passes through. |
| .TP |
| -8 |
| (digit eight) Connection is 8-bit clean (this is the |
| default in C-Kermit 8.0). Equivalent to the EIGHTBIT |
| command, which in turn is a shortcut for SET TERMINAL |
| BYTESIZE 8, SET COMMAND BYTESIZE 8, SET PARITY NONE. |
| .TP |
| -9 arg |
| (digit nine) Make a connection to an FTP server. |
| Equivalent to the FTP OPEN command. |
| Argument: IP-address-or-hostname[:optional-TCP-port]. |
| NOTE: C-Kermit also has a separate FTP command-line |
| personality, with regular FTP-like command-line |
| syntax. More about this below. |
| .TP |
| -A |
| Kermit is to be started as an Internet service (IKSD) |
| (only from inetd.conf). |
| .TP |
| -B |
| Kermit is running in Batch or Background (no |
| controlling terminal). To be used in case Kermit |
| doesn't automatically sense its background status. |
| Equivalent to the SET BACKGROUND ON command. |
| .TP |
| -C arg |
| Interactive-mode Commands to be executed. |
| Argument: Commands separated by commas, list in |
| doublequotes. |
| .TP |
| -D arg |
| Delay before starting to send in Remote mode. |
| Equivalent to the SET DELAY command. |
| Argument: Number of seconds. |
| .TP |
| -E |
| Exit automatically when connection closes. Equivalent |
| to SET EXIT ON-DISCONNECT ON. |
| .TP |
| -F arg |
| Use an open TCP connection. |
| Argument: Numeric file descriptor of open TCP |
| connection. |
| Also see: -j, -J. |
| .TP |
| -G arg |
| (ACTION) Get file(s) from server, send contents to standard |
| output, which normally would be piped to another |
| process. |
| Argument: Remote file specification, in quotes if it |
| contains metacharacters. |
| Also see: -g, -k. |
| .TP |
| -H |
| Suppress program startup Herald and greeting. |
| .TP |
| -I |
| Tell Kermit it has a reliable connection, to force streaming to be used where |
| it normally would not be. Equivalent to the SET RELIABLE ON command. |
| .TP |
| -J arg |
| (ACTION) "Be like Telnet." Like -j but implies -E. Argument: IP |
| hostname/address optionally followed by service. NOTE: C-Kermit also has a |
| separate Telnet command-line personality, with regular Telnet-like |
| command-line syntax. More about this below. |
| .TP |
| -L |
| Recursive directory descent for files in -s option. |
| .TP |
| -M arg |
| My user name (for use with Telnet, Rlogin, FTP, etc). |
| Equivalent to the SET LOGIN USER command. |
| Argument: Username string. |
| .TP |
| -O |
| (ACTION) (Uppercase letter O) Be a server for One command only. |
| Also see: -x. |
| .TP |
| -P |
| Don't convert file (Path) names of transferred files. |
| Equivalent to SET FILE NAMES LITERAL. |
| .TP |
| -Q |
| Quick Kermit protocol settings. Equivalent to the FAST |
| command. This is the default in C-Kermit 7.0 and later. |
| .TP |
| -R |
| Remote-only (this just makes IF REMOTE true). |
| .TP |
| -S |
| Stay (enter command parser after action options). |
| .TP |
| -T |
| Force Text mode for file transfer; implies -V. |
| Equivalent to SET TRANSFER MODE MANUAL, SET FILE TYPE TEXT. |
| .TP |
| -V |
| Disable automatic per-file text/binary switching. |
| Equivalent to SET TRANSFER MODE MANUAL. |
| .TP |
| -Y |
| Skip (don't execute) the initialization file. |
| .TP |
| -a arg |
| As-name for file(s) in -s, -r, or -g. |
| Argument: As-name string (alternative filename). When |
| receiving files, this can be a directory name. |
| .TP |
| -b arg |
| Speed for serial device. Equivalent to SET SPEED. |
| Argument: Numeric Bits per second for serial |
| connections. |
| .TP |
| -c |
| (ACTION) Enter Connect state before transferring files. |
| .TP |
| -d |
| Create a debug.log file with detailed debugging |
| information (a second -d adds timestamps). Equivalent |
| to LOG DEBUG but takes effect sooner. |
| .TP |
| -e arg |
| Maximum length for incoming Kermit file-transfer |
| packets. Equivalent to SET RECEIVE PACKET-LENGTH. |
| Argument: Length in bytes. |
| .TP |
| -f |
| (ACTION) Send a FINISH command to a Kermit server. |
| .TP |
| -g arg |
| Get file(s) from a Kermit server. |
| Argument: File specification on other computer, in |
| quotes if it contains metacharacters. Equivalent to |
| GET. Also see: -a, -G, -r. |
| .TP |
| -h |
| (ACTION) Print Help text for single-letter command-line options |
| (pipe thru 'more' to prevent scrolling). |
| .TP |
| -i |
| Force binary (Image) mode for file transfer; implies |
| -V. Equivalent to SET TRANSFER MODE MANUAL, SET FILE |
| TYPE BINARY. |
| .TP |
| -j arg |
| Make a TCP/IP connection. |
| Argument: IP host name/address and optional service |
| name or number. Equivalent to the TELNET command. |
| Also see: -J, -F. |
| .TP |
| -k |
| (ACTION) Receive file(s) to standard output, which normally |
| would be piped to another process. |
| Also see: -r, -G. |
| .TP |
| -l arg |
| (Lowercase letter L) Make a connection on the given |
| serial communications device. Equivalent to the SET |
| LINE (SET PORT) command. |
| Argument: Serial device name, e.g. /dev/ttyS0. |
| .TP |
| -m arg |
| Modem type for use with the -l device. Equivalent to |
| the SET MODEM TYPE command. |
| Argument: Modem name as in SET MODEM TYPE command, |
| e.g. "usrobotics". |
| .TP |
| -n |
| (ACTION) Enter Connect state after transferring files (historical). |
| .TP |
| -p arg |
| Parity. Equivalent to the SET PARITY command. |
| Argument: One of the following: e(ven), o(dd), m(ark), |
| n(one), s(pace). |
| .TP |
| -q |
| Quiet (suppress most messages). Equivalent to SET QUIET ON. |
| .TP |
| -r |
| (ACTION) Receive file(s). Equivalent to the RECEIVE command. |
| Argument: (none, but see -a) |
| .TP |
| -s arg |
| Send file(s). |
| Argument: One or more local file specifications. |
| Equivalent to the SEND command. |
| Also see: -a. |
| .TP |
| -t |
| (Historical) Xon (Ctrl-Q) Turnaround character for |
| half-duplex connections (used on serial linemode |
| connections to old mainframes). Equivalent to SET |
| DUPLEX HALF, SET HANDSHAKE XON. |
| .TP |
| -v arg |
| Window size for Kermit protocol (ignored when |
| streaming). Equivalanet to SET WINDOW-SIZE. |
| Argument: Number, 1 to 32. |
| .TP |
| -w |
| Incoming files Write over existing files. Equivalent |
| to SET FILE COLLISION OVERWRITE. |
| .TP |
| -x |
| (ACTION) Enter server mode. Equivalent to the SERVER command. |
| Also see: -O. |
| .TP |
| -y arg |
| Alternative initialization file. |
| Argument: Filename. |
| .TP |
| -z |
| Force foreground behavior. To be used in case Kermit |
| doesn't automatically sense its foreground status. |
| Equivalent to the SET BACKGROUND OFF command. |
| .PP |
| Extended command-line options (necessary because single-letter ones are |
| about used up) start with two dashes (--), with words rather than single |
| letters as option names. If an extended option takes an argument, it is |
| separated from the option word by a colon (:). Extended options include: |
| |
| .TP |
| --bannerfile:filename |
| File to display upon startup or IKSD login. |
| .TP |
| --cdfile:filename |
| File to be sent for display to the client when |
| server changes directory (filename is relative to |
| the changed-to directory). |
| .TP |
| --cdmessage:{on,off} |
| Enable/disable the server CD message feature. |
| .TP |
| --help |
| Prints usage message for extended options. |
| .TP |
| --helpfile:filename |
| Designates a file containing custom text to |
| replace the top-level HELP command. |
| .TP |
| --nointerrupts |
| Disables keyboard interrupts. |
| .TP |
| --noperms |
| Disables the Kermit protocol file Permissions |
| attribute, to prevent transmission of file |
| permissions (protection) from sender to receiver. |
| .TP |
| --version |
| (ACTION) C-Kermit prints its version number. |
| .PP |
| Plus several other IKSD-Only options described at: |
| .PP |
| http://www.columbia.edu/kermit/iksd.html |
| .PP |
| See the file-transfer section for examples of command-line invocation. |
| .SH COMMAND LANGUAGE |
| C-Kermit's interactive command language is the subject of a 622-page book |
| and another several hundred pages of updates, far too much for a manual |
| page. But it's not hard to get started. At the shell prompt, just type |
| "kermit" to get C-Kermit's interactive command prompt: |
| .PP |
| .nf |
| $ kermit |
| (/current/directory) C-Kermit> |
| .fi |
| .PP |
| Begin by typing "help" (and then press the Return or Enter key) for a |
| top-level overview, read it, and go from there. Your second command should |
| probably be "intro" (introduction). Note the prompt shows your current |
| directory (unless you tell Kermit to prompt you with something else). |
| .PP |
| Interactive commands are composed mainly of regular English words, usually |
| in the form of imperative sentences, such as: |
| .PP |
| send oofa.txt |
| .PP |
| which tells Kermit to send (transfer) the file whose name is oofa.txt, or: |
| .PP |
| set transfer mode automatic |
| .PP |
| which sets Kermit's "transfer mode" to "automatic" (whatever that means). |
| .PP |
| While typing commands, you can abbreviate, ask for help (by pressing the |
| "?" key anywhere in a command), complete keywords or filenames (with the |
| Tab or Esc key), and edit your typing with Backspace or Delete, Ctrl-W, |
| Ctrl-U, etc. You can also recall previous commands, save your command |
| history, and who knows what else. Give the INTRO command for details. |
| .PP |
| C-Kermit has hundreds of commands, and they can be issued in infinite |
| variety and combinations, including commands for: |
| .nf |
| .PP |
| \(bu Making connections (SET LINE, DIAL, TELNET, SSH, FTP, ...) |
| .br |
| \(bu Breaking connections (HANGUP, CLOSE) |
| .br |
| \(bu Transferring files (SEND, GET, RECEIVE, MOVE, RESEND, ...) |
| .br |
| \(bu Establishing preferences (SET) |
| .br |
| \(bu Displaying preferences (SHOW) |
| .br |
| \(bu Managing local files (CD, DELETE, MKDIR, DIR, RENAME, TYPE, ...) |
| .br |
| \(bu Managing remote files (RCD, RDEL, RMKDIR, RDIR, ...) |
| .br |
| \(bu Using local files (FOPEN, FCLOSE, FREAD, FWRITE) |
| .br |
| \(bu Programming (TAKE, DEFINE, IF, FOR, WHILE, SWITCH, DECLARE, ...) |
| .br |
| \(bu Interacting with the user (ECHO, ASK, ...) |
| .br |
| \(bu Interacting with a remote computer (INPUT, OUTPUT, ...) |
| .br |
| \(bu Interacting with local programs (RUN, EXEC, PTY, ...) |
| .br |
| \(bu Logging things (LOG SESSION, LOG PACKETS, LOG DEBUG, ...) |
| .PP |
| .fi |
| And of course QUIT or EXIT to get out and HELP to get help, and for |
| programmers: loops, decision making, variables, arrays, associative arrays, |
| integer and floating point arithmetic, macros, built-in and user-defined |
| functions, string manipulation, pattern matching, block structure, scoping, |
| recursion, and all the rest. To get a list of all C-Kermit's commands, type |
| a question mark (?) at the prompt. To get a description of any command, |
| type HELP followed by the name of the command, for example: |
| .PP |
| help send |
| .PP |
| The command interruption character is Ctrl-C (hold down the Ctrl key and |
| press the C key). |
| .PP |
| The command language "escape character", used to introduce variable names, |
| function invocations, and so on, is backslash (\). If you need to include a |
| literal backslash in a command, type two of them, e.g.: |
| .PP |
| get c:\ek95\ek95custom.ini |
| .SS Command Files, Macros, and Scripts |
| A file containing Kermit commands is called a Kermit command file or Kermit |
| script. It can be executed with Kermit's TAKE command: |
| .PP |
| (/current/dir) C-Kermit> take commandfile |
| .PP |
| (where "commandfile" is the name of the command file). Please don't pipe a |
| command file into Kermit's standard input (which might or might not work); |
| if you have Kermit commands in a file, tell Kermit to TAKE the file. |
| .PP |
| In Unix only, a Kermit command file can also be executed directly by |
| including a "kerbang" line as the first line of the file: |
| .PP |
| #!/usr/local/bin/kermit + |
| .PP |
| That is, a top line that starts with "#!", followed immediately by the full |
| path of the Kermit executable, and then, if the Kermit script is to be |
| given arguments on the command line, a space and a plus sign. The script |
| file must also have execute permission: |
| .PP |
| chmod +x commandfile |
| .PP |
| Except for the " +" part, this is exactly the same as you would do for a |
| shell script, a Perl script, etc. Here's a simple but useless example |
| script that regurgitates its arguments (up to three of them): |
| .PP |
| #!/usr/local/bin/kermit + |
| if defined \e%1 echo "Argument 1: \e%1" |
| if defined \e%2 echo "Argument 2: \e%2" |
| if defined \e%3 echo "Argument 3: \e%3" |
| if defined \e%4 echo "etc..." |
| exit |
| .PP |
| If this file is stored in your current directory as "commandfile", then: |
| .PP |
| ./commandfile one two three four five |
| .PP |
| prints: |
| .PP |
| Argument 1: one |
| Argument 2: two |
| Argument 3: three |
| etc... |
| .PP |
| This illustrates the basic structure of a standalone Kermit script: the |
| "kerbang line", then some commands. It should end with "exit" unless you |
| want the Kermit prompt to appear when it is finished. \e%1 is the first |
| argument, \e%2 the second, and so on. |
| .PP |
| You can also create your own commands by defining named macros composed of |
| other Kermit commands (or macros). For example: |
| .PP |
| .nf |
| define mydelete { |
| local trash |
| assign trash \ev(home)trashcan/ |
| if not defined \e%1 end 1 "Delete what?" |
| if wild \e%1 { |
| end 1 "Deleting multiple files is too scary" |
| } |
| if not exist \e%1 end 1 "I can't find \e%1" |
| if not directory \em(trash) { |
| mkdir \em(trash) |
| if fail end 1 "No trash can" |
| } |
| rename /list \e%1 \em(trash) |
| } |
| define myundelete { |
| local trash |
| assign trash \ev(home)trashcan/ |
| if not defined \e%1 end 1 "Undelete what?" |
| if wild \e%1 { |
| end 1 "Undeleting multiple files is too hard" |
| } |
| if not directory \em(trash) end 1 "No trash can" |
| if not exist \em(trash)\e%1 { |
| end 1 "I can't find \e%1 in trash can" |
| } |
| rename /list \em(trash)\e%1 . |
| } |
| .PP |
| .fi |
| These sample macros are not exactly production quality (they don't handle |
| filenames that include path segments, they don't handle multiple files, |
| etc), but you get the idea: you can pass arguments to macros, and they can |
| check them and make other kinds of decisions. If you put the above lines |
| into your initialization or customization file (explained below), you'll |
| have MYDELETE and MYUNDELETE commands available every time you start |
| Kermit, at least as long as you don't suppress execution of the |
| initialization file. (Exercise for the reader: Make these macros generally |
| useful: remove limitations, add trashcan display, browsing, emptying, etc.) |
| .PP |
| Kerbang scripts execute without the initialization file. This to keep them |
| portable and also to make them start faster. If you want to write Kerbang |
| scripts that depend on the initialization file, include the command |
| .PP |
| take \ev(home).kermrc |
| .PP |
| at the desired spot in the script. By the way, \ev(xxx) is a built-in |
| variable (xxx is the variable name, "home" in this case). To see what |
| built-in variables are available, type "show variables" at the C-Kermit |
| prompt. To see what else you can show, type "show ?". \em(xxx) is a user |
| defined variable (strictly speaking, it is a macro used as a variable). |
| .SS Command List |
| C-Kermit has more than 200 top-level commands, and some of these, such as |
| SET, branch off into hundreds of subcommands of their own, so it's not |
| practical to describe them all here. Instead, here's a concise list of the |
| most commonly used top-level commands, grouped by category. To learn about |
| each command, type "help" followed by the command name, e.g. "help set". |
| Terms such as Command state and Connect state are explained in subsequent |
| sections. |
| .PP |
| Optional fields are shown in [ brackets ]. "filename" means the |
| name of a single file. filespec means a file specification that is allowed |
| to contain wildcard characters like '*' to match groups of files. options |
| are (optional) switches like /PAGE, /NOPAGE, /QUIET, etc, listed in the |
| HELP text for each command. Example: |
| .PP |
| .nf |
| send /recursive /larger:10000 /after:-1week /except:*.txt * |
| .fi |
| .PP |
| which can be read as "send all the files in this directory and all the ones |
| underneath it that are larger than 10000 bytes, no more than one week old, |
| and whose names don't end with ".txt". |
| .SS |
| Basic Commands |
| .RS |
| .TP |
| HELP |
| Requests top-level help. |
| .TP |
| HELP command |
| Requests help about the given command. |
| .TP |
| INTRODUCTION |
| Requests a brief introduction to C-Kermit. |
| .TP |
| LICENSE |
| Displays the C-Kermit software copyright and license. |
| .TP |
| VERSION |
| Displays C-Kermit's version number. |
| .TP |
| EXIT [ number ] |
| Exits from Kermit with the given |
| status code. Synonyms: QUIT, E, Q. |
| .TP |
| TAKE filename [ parameters... ] |
| Executes commands from the given |
| .TP |
| LOG item [ filename ] |
| Keeps a log of the given item in the given file. |
| .TP |
| [ DO ] macro [ parameters... ] |
| Executes commands from the given macro. |
| .TP |
| SET parameter value |
| Sets the given parameter to the given value. |
| .TP |
| SHOW category |
| Shows settings in a given category. |
| .TP |
| STATUS |
| Tells whether previous command succeeded or failed. |
| .TP |
| DATE [ date-and/or-time ] |
| Shows current date-time or interprets given date-time. |
| .TP |
| RUN [ extern-command [ parameters... ] |
| Runs the given external command. Synonym: !. |
| .TP |
| EXEC [ extern-command [ params... ] |
| Kermit overlays itself with the given command. |
| .TP |
| SUSPEND |
| Stops Kermit and puts it in the background. Synonym: Z. |
| .RE |
| .SS |
| Local File Management |
| .RS |
| .TP |
| TYPE [ options ] filename |
| Displays the contents of the given file. |
| .TP |
| MORE [ options ] filename |
| Equivalent to TYPE /PAGE (pause after each screenful). |
| .TP |
| CAT [ options ] filename |
| Equivalent to TYPE /NOPAGE. |
| .TP |
| HEAD [ options ] filename |
| Displays the first few lines of a given file. |
| .TP |
| TAIL [ options ] filename |
| Displays the last few lines of a given file. |
| .TP |
| GREP [ options ] pattern filespec |
| Displays lines from files that match |
| the pattern. Synonym: FIND. |
| .TP |
| DIRECTORY [ options ] [filespec ] |
| Lists files (built-in, many options). |
| .TP |
| LS [ options ] [ filespec ] |
| Lists files (runs external "ls" command). |
| .TP |
| DELETE [ options ] [ filespec ] |
| Deletes files. Synonym: RM. |
| .TP |
| PURGE [ options ] [ filespec ] |
| Removes backup (*.~n~) files. |
| .TP |
| COPY [ options ] [ filespecs... ] |
| Copies files. Synonym: CP. |
| .TP |
| RENAME [ options ] [ filespecs... ] |
| Renames files. Synonym: MV. |
| .TP |
| CHMOD [ options ] [ filespecs... ] |
| Changes permissions of files. |
| .TP |
| TRANSLATE filename charsets [ filename ] |
| Converts file's character set. Synonym: XLATE. |
| .TP |
| CD |
| Changes your working directory to your home directory. |
| .TP |
| CD directory |
| Changes your working directory to the one given. |
| .TP |
| CDUP |
| Changes your working directory one level up. |
| .TP |
| PWD |
| Displays your working directory. |
| .TP |
| BACK |
| Returns to your previous working directory. |
| .TP |
| MKDIR [ directory ] |
| Creates a directory. |
| .TP |
| RMDIR [ directory ] |
| Removes a directory. |
| .RE |
| .SS |
| Making Connections |
| .RS |
| .TP |
| SET LINE [ options ] devicename |
| Opens the named serial port. Synonym: SET PORT. |
| .TP |
| OPEN LINE [ options ] devicename |
| Same as SET LINE. Synonym: OPEN PORT. |
| .TP |
| SET MODEM TYPE [ name ] |
| Tells Kermit what kind of modem is on the port. |
| .TP |
| DIAL [ number ] |
| Tells Kermit to dial the given phone number with the modem. |
| .TP |
| REDIAL |
| Redials the most recently dialed phone number. |
| .TP |
| ANSWER |
| Waits for and answers an incoming call on the modem. |
| .TP |
| AUTHENTICATE [ parameters... ] |
| Performs secure authentication on a TCP/IP connection. |
| .TP |
| SET NETWORK TYPE { TCP/IP, X.25, ... } |
| Selects network type for subsequent SET HOST commands. |
| .TP |
| SET HOST [ options ] host [ port ] |
| Opens a network connection to the given host and port. |
| .TP |
| SET HOST * port |
| Waits for an incoming TCP/IP connection on the given port. |
| .TP |
| TELNET [ options ] host |
| Opens a Telnet connection to the host and enters Connect state. |
| .TP |
| RLOGIN [ options ] host |
| Opens an Rlogin connection to the host and enters Connect state. |
| .TP |
| IKSD [ options ] host |
| Opens a connection to an Internet Kermit Service. |
| .TP |
| SSH [ options ] host |
| Opens an SSH connection to the host and enters Connect state. |
| .TP |
| FTP OPEN host [ options ] |
| Opens an FTP connection to the host. |
| .TP |
| HTTP [ options ] OPEN host |
| Opens an HTTP connection to the host. |
| .TP |
| PTY external-command |
| Runs the command on a pseudoterminal as if it were a connection. |
| .TP |
| PIPE external-command |
| Runs the command through a pipe as if it were a connection. |
| .RE |
| .SS |
| Using Connections |
| .RS |
| .TP |
| CONNECT [ options ] |
| Enters Connect (terminal) state. Synonym: C. |
| .TP |
| REDIRECT command |
| Redirects the given external command over the connection. |
| .TP |
| TELOPT command |
| Sends a Telnet protocol command (Telnet connections only). |
| .TP |
| Ctrl-\eC |
| "Escapes back" from Connect state to Command state. |
| .TP |
| Ctrl-\eB |
| (In Connect state) Sends a BREAK signal (serial or Telnet). |
| .TP |
| Ctrl-\e! |
| (In Connect state) Enters inferior shell; "exit" to return. |
| .TP |
| Ctrl-\e? |
| (In Connect state) Shows a menu of other escape-level options. |
| .TP |
| Ctrl-\eCtrl-\e |
| (In Connect state) Type two |
| Ctrl-Backslashes to send one of them. |
| .TP |
| SET ESCAPE [ character ] |
| Changes Kermit's Connect-state escape character. |
| .RE |
| .SS |
| Closing Connections |
| .RS |
| .TP |
| HANGUP |
| Hangs up the currently open |
| serial-port or network connection. |
| .TP |
| CLOSE |
| Closes the currently open |
| serial-port or network connection. |
| .TP |
| SET LINE (with no devicename) |
| Closes the currently open |
| serial-port or network connection. |
| .TP |
| SET HOST (with no hostname) |
| Closes the currently open serial-port or network connection. |
| .TP |
| FTP CLOSE |
| Closes the currently open FTP connection. |
| .TP |
| HTTP CLOSE |
| Closes the currently open HTTP connection. |
| .TP |
| EXIT |
| Also closes all connections. Synonym: QUIT. |
| .TP |
| SET EXIT WARNING OFF |
| Suppresses warning about open connections on exit or close. |
| .RE |
| .SS |
| File Transfer |
| .RS |
| .TP |
| SEND [ options ] filename [ as-name ] |
| Sends the given file. Synonym: S. |
| .TP |
| SEND [ options ] filespec |
| Sends all files that match. |
| .TP |
| RESEND [ options ] filespec |
| Resumes an interupted SEND from the point of failure. |
| .TP |
| RECEIVE [ options ] [ as-name ] |
| Waits passively for files to arrive. Synonym: R. |
| .TP |
| LOG TRANSACTIONS [ filename ] |
| Keeps a record of file transfers. |
| .TP |
| FAST |
| Use fast file-transfer settings (default). |
| .TP |
| CAUTIOUS |
| Use cautious and less fast file-transfer settings. |
| .TP |
| ROBUST |
| Use ultra-conservative and slow file-transfer settings. |
| .TP |
| STATISTICS [ options ] |
| Gives statistics about the most recent file transfer. |
| .TP |
| WHERE |
| After transfer: "Where did my files go?". |
| .TP |
| TRANSMIT [ options ] [ofilename ] |
| Sends file without protocol. Synonym: XMIT. |
| .TP |
| LOG SESSION [ filename ] |
| Captures remote text or files without protocol. |
| .TP |
| SET PROTOCOL [ name... ] |
| Tells Kermit to use an external file-transfer protocol. |
| .TP |
| FTP { PUT, MPUT, GET, MGET, ... } |
| FTP client commands. |
| .TP |
| HTTP { PUT, GET, HEAD, POST, ... } |
| HTTP client commands. |
| .RE |
| .SS |
| Kermit Server |
| .RS |
| .TP |
| ENABLE, DISABLE |
| Controls which server features can be used by clients. |
| .TP |
| SET SERVER |
| Sets parameters prior to entering Server state. |
| .TP |
| SERVER |
| Enters Server state. |
| .RE |
| .SS |
| Client of Kermit or FTP Server |
| .RS |
| .TP |
| [ REMOTE ] LOGIN [ user password ] |
| Logs in to a Kermit server or IKSD that requires it. |
| .TP |
| [ REMOTE ] LOGOUT |
| Logs out from a Kermit server or IKSD. |
| .TP |
| SEND [ options ] filename [ as-name ] |
| Sends the given file to the server. Synonyms: S, PUT. |
| .TP |
| SEND [ options ] filespec |
| Sends all files that match. |
| .TP |
| RESEND [ options ] filespec |
| Resumes an interupted SEND from the point of failure. |
| .TP |
| GET [ options ] remote-filespec |
| Asks the server to send the given files. Synonym: G. |
| .TP |
| REGET [ options ] remote-filespec |
| Resumes an interrupted GET from the point of failure. |
| .TP |
| REMOTE CD [ directory ] |
| Asks server to change its working |
| directory. Synonym: RCD. |
| .TP |
| REMOTE PWD [ directory ] |
| Asks server to display its working directory. Synonym: RPWD. |
| .TP |
| REMOTE DIRECTORY [ filespec... ] |
| Asks server to send a directory listing. Synonym: RDIR. |
| .TP |
| REMOTE DELETE [ filespec... ] |
| Asks server to delete files. Synonym: RDEL. |
| .TP |
| REMOTE [ command... ] |
| (Many other commands: "remote ?" for a list). |
| .TP |
| MAIL [ options ] filespec |
| Sends file(s) to be delivered as e-mail (Kermit only). |
| .TP |
| FINISH |
| Asks the server to exit server state (Kermit only). |
| .TP |
| BYE |
| Asks the server to log out and close the connection. |
| .RE |
| .SS |
| Script Programming |
| .PP |
| .RS |
| DEFINE, DECLARE, UNDEFINE, UNDECLARE, ASSIGN, EVALUATE, SEXPRESSION, |
| ARRAY, SORT, INPUT, OUTPUT, IF, FOR, WHILE, SWITCH, GOTO, ECHO, ASK, |
| GETC, GETOK, ASSERT, WAIT, SLEEP, FOPEN, FREAD, FWRITE, FCLOSE, STOP, |
| END, RETURN, LEARN, SHIFT, TRACE, VOID, INCREMENT, DECREMENT, ... For |
| these and many more you'll need to consult the manual and supplements, |
| and/or visit the Kermit Script Library, which also includes a brief |
| tutorial. Hint: HELP LEARN to find out how to get Kermit to write |
| simple scripts for you. |
| .RE |
| .PP |
| Many of Kermit's commands have synonyms, variants, relatives, and so on. |
| For example, MSEND is a version of SEND that accepts a list of file |
| specifications to be sent, rather than just one file specification, and |
| MPUT is a synonym of MSEND. MOVE means to SEND and then DELETE the source |
| file if successful. MMOVE is like MOVE, but accepts a list of filespecs, |
| and so on. These are described in the full documentation. |
| .PP |
| Use question mark to feel your way through an unfamiliar command, as in |
| this example: |
| .PP |
| .nf |
| C-Kermit> remote ? One of the following: |
| assign directory kermit print rmdir |
| cd exit login pwd set |
| copy help logout query space |
| delete host mkdir rename type |
| C-Kermit> remote set ? One of the following: |
| attributes file retry transfer |
| block-check receive server window |
| C-Kermit> remote set file ? One of the following: |
| character-set incomplete record-length |
| collision names type |
| C-Kermit> remote set file names ? One of the following: |
| converted literal |
| C-Kermit> remote set file names literal |
| C-Kermit> |
| .PP |
| .fi |
| This is called menu on demand: you get a menu when you want one, but menus |
| are not forced on you even when know what you're doing. Note that you can |
| also abbreviate most keywords, and you can complete them with the Tab or |
| Esc key. Also note that ? works for filenames too, and that you can use it |
| in the middle of a keyword or filename, not just at the beginning. For |
| example, "send x?" lists all the files in the current directory whose names |
| start with 'x'. |
| .SH INITIALIZATION FILE |
| In its default configuration, C-Kermit executes commands from a file |
| called .kermrc in your home directory when it starts, unless it is given the |
| -Y or -y command-line option. Custom configurations might substitute a shared |
| system-wide initialization file. The SHOW FILE command tells what |
| initialization file, if any, was used. The standard initialization file |
| "chains" to an individual customization file, .mykermc, in the home directory, |
| in which each user can establish her/his own preferences, define macros, and |
| so on. |
| .PP |
| Since execution of the initialization file (at least the standard one) |
| makes C-Kermit take longer to start, it might be better not to have an |
| initialization file, especially now that Kermit's default startup |
| configuration is well attuned to modern computing and networking -- in |
| other words, you no longer have do anything special to make Kermit |
| transfers go fast. So instead of having an initialization file that is |
| executed every time Kermit starts, you might consider making one or more |
| kerbang scripts (with names other that .kermrc) that do NOT include an |
| "exit" command, and invoke those when you need the settings, macro |
| definitions, and/or scripted actions they contain, and invoke C-Kermit |
| directly when you don't. |
| .PP |
| To put it another way... We still distribute the standard initialization |
| file since it's featured in the manual and backwards compatibility is |
| important to us. But there's no harm in not using it if you don't need the |
| stuff that's in it (services directory, dialing directory, network |
| directory, and associated macro definitions). On the other hand, if there |
| are settings or macros you want in effect EVERY time you use Kermit, the |
| initialization file (or the customization file it chains to) is the place |
| to put them, because that's the only place Kermit looks for them |
| automatically each time you start it. |
| .SH MODES OF OPERATION |
| Kermit is said to be in Local mode if it has made a connection to another |
| computer, e.g. by dialing it or establishing a Telnet connection to it. The |
| other computer is remote, so if you start another copy of Kermit on the |
| remote computer, it is said to be in Remote mode (as long as it has not |
| made any connections of its own). The local Kermit communicates over the |
| communications device or network connection, acting as a conduit between |
| the the remote computer and your keyboard and screen. The remote Kermit is |
| the file-transfer partner to the local Kermit and communicates only through |
| its standard input and output. |
| .PP |
| At any moment, a Kermit program can be in any of the following states. It's |
| important to know what they are and how to change from one to the other. |
| .TP |
| Command state |
| In this state, Kermit reads commands from: |
| .sp |
| \(bu Your keyboard; or: |
| .br |
| \(bu A file, or: |
| .br |
| \(bu A macro definition. |
| .sp |
| You can exit from Command state back to Unix with the EXIT or QUIT |
| command (same thing). You can enter Connect state with any of various |
| commands (CONNECT, DIAL, TELNET, etc). You can enter file transfer |
| state with commands like SEND, RECEIVE, and GET. You can enter Server |
| state with the SERVER command. The TAKE command tells Kermit to read |
| and execute commands from a file. The (perhaps implied) DO command |
| tells Kermit to read and execute commands from a macro definition. |
| While in Command state, you can interrupt any command, macro, or |
| command file by typing Ctrl-C (hold down the Ctrl key and press the C |
| key); this normally brings you back to the prompt. |
| .TP |
| Shell state |
| You can invoke an inferior shell or external command from the Kermit |
| command prompt by using the PUSH, RUN (!), EDIT, or BROWSE command. |
| While the inferior shell or command is active, Kermit is suspended and |
| does nothing. Return to Kermit Command state by exiting from the |
| inferior shell or application. |
| .TP |
| Connect state |
| In this state, which can be entered only when in Local mode (i.e. when |
| Kermit has made a connection to another computer), Kermit is acting as |
| a terminal to the remote computer. Your keystrokes are sent to the |
| remote computer and characters that arrive over the communication |
| connection are displayed on your screen. This state is entered when |
| you give a CONNECT, DIAL, TELNET, RLOGIN, or IKSD command. You can |
| return to command state by logging out of the remote computer, or by |
| typing: |
| .sp |
| Ctrl-\ec |
| .sp |
| That is: Hold down the Ctrl key and press the backslash key, then let |
| go of the Ctrl key and press the C key. This is called escaping back. |
| Certain other escape-level commands are also provided; type Ctrl-\e? |
| for a list. For example, you can enter Shell state with: |
| .sp |
| Ctrl-\e! |
| .sp |
| To send a Ctrl-\e to the host while in Connect state, type two of them |
| in a row. See HELP CONNECT and HELP SET ESCAPE for more info. |
| .TP |
| Local file-transfer state |
| In this state, Kermit is sending packets back and forth with the other |
| computer in order to transfer a file or accomplish some other |
| file-related task. And at the same time, it is displaying its progress |
| on your screen and watching your keyboard for interruptions. In this |
| state, the following single-keystroke commands are accepted: |
| .sp |
| .RS |
| .TP |
| X |
| Interrupt the current file and go on to the next (if any). |
| .TP |
| Z |
| Interrupt the current file and skip all the rest. |
| .TP |
| E |
| Like Z but uses a "stronger" protocol (use if X or Z don't work). |
| .TP |
| Ctrl-C |
| Interrupt file-transfer mode (use if Z or E don't work). |
| .sp |
| .RE |
| Kermit returns to its previous state (Command or Connect) when the |
| transfer is complete or when interrupted successfully by X, Z, E, or |
| Ctrl-C (hold down the Ctrl key and press the C key). |
| .TP |
| Remote file-transfer state |
| In this state, Kermit is exchanging file-transfer packets with its |
| local partner over its standard i/o. It leaves this state |
| automatically when the transfer is complete. In case you find your |
| local Kermit in Connect state and the remote one in File-transfer |
| state (in which it seems to ignore your keystrokes), you can usually |
| return it to command state by typing three Ctrl-C's in a row. If that |
| doesn't work, return your local Kermit to Command state (Ctrl-\e C) and |
| type "e-packet" and then press the Return or Enter key; this forces a |
| fatal Kermit protocol error. |
| .TP |
| Remote Server state |
| This is like Remote File-transfer state, except it never returns |
| automatically to Command state. Rather, it awaits further instructions |
| from the client program; that is, from your Local Kermit program. You |
| can return the Remote Server to its previous state by issuing a |
| "finish" command to the client, or if you are in Connect state, by |
| typing three Ctrl-C's in a row. You can tell the server job to log out |
| and break the connection by issuing a "bye" command to the client. |
| .TP |
| Local Server state |
| Like Remote-Server state, but in local mode, and therefore with its |
| file-transfer display showing, and listening for single-key commands, |
| as in Local File-transfer state. Usually this state is entered |
| automatically when a remote Kermit program gives a GET command. |
| .sp |
| C-Kermit, Kermit 95, and MS-DOS Kermit all can switch automatically from |
| Connect state to Local File-transfer state when you initiate a file |
| transfer from the remote computer by starting Kermit and telling it to send |
| or get a file, in which case, Connect state is automatically resumed after |
| the file transfer is finished. |
| .sp |
| Note that C-Kermit is not a terminal emulator. It is a communications |
| application that you run in a terminal window (e.g. console or Xterm). The |
| specific emulation, such as VT100, VT220, Linux Console, or Xterm, is |
| provided by the terminal window in which you are running C-Kermit. Kermit |
| 95 and MS-DOS Kermit, on the other hand, are true terminal emulators. Why |
| is C-Kermit not a terminal emulator? CLICK HERE to read about it. |
| .SH MAKING CONNECTIONS |
| Here is how to make different kinds of connections using interactive Kermit |
| commands (as noted above, you can also make connections with command-line |
| options). Note that you don't have to make connections with Kermit. It can |
| also be used on the far end of a connection as the remote file transfer and |
| management partner of your local communications software. |
| .TP |
| Making a Telnet Connection |
| At the C-Kermit command prompt, simply type: |
| .sp |
| .nf |
| telnet foo.bar.com |
| .fi |
| .sp |
| (substituting desired hostname or address). |
| You can also include a port number: |
| .sp |
| .nf |
| telnet xyzcorp.com 3000 ; |
| .fi |
| .sp |
| If the connection is successful, Kermit automically enters Connect |
| state. When you logout from the remote host, Kermit automatically |
| returns to its prompt. More info: HELP TELNET, HELP SET TELNET, HELP |
| SET TELOPT. Also see the IKSD section below. |
| .TP |
| Making an Rlogin connection |
| This is just like Telnet, except you have to be root to do it because |
| Rlogin uses a privileged TCP port: |
| .sp |
| .nf |
| rlogin foo.bar.com |
| .fi |
| .sp |
| More info: HELP RLOGIN. |
| .TP |
| Making an SSH Connection |
| Unlike Telnet and Rlogin, SSH connections are not built-in, but |
| handled by running your external SSH client through a pseudoterminal. |
| Using C-Kermit to control the SSH client gives you all of Kermit's |
| features (file transfer, character-set conversion, scripting, etc) |
| over SSH. |
| .sp |
| ssh foo.bar.com |
| .sp |
| More info: HELP SSH, HELP SET SSH. |
| .TP |
| Dialing with a Modem |
| If it's an external modem, make sure it is connected to a usable |
| serial port on your computer with a regular (straight-through) modem |
| cable, and to the telephone jack with a telephone cable, and that it's |
| turned on. Then use these commands: |
| .sp |
| .nf |
| set modem type usrobotics ; Or other supported type |
| set line /dev/ttyS0 ; Specify device name |
| set speed 57600 ; Or other desired speed |
| set flow rts/cts ; Most modern modems support this |
| set dial method tone ; (or pulse) |
| dial 7654321 ; Dial the desired number |
| .fi |
| .sp |
| Type "set modem type ?" for a list of supported modem types. If you |
| omit the SET MODEM TYPE command, the default type is |
| "generic-high-speed", which should work for most modern AT-command-set |
| modems. If the line is busy, Kermit redials automatically. If the call |
| does not succeed, use "set dial display on" and try it again to watch |
| what happens. If the call succeeds, Kermit enters Connect state |
| automatically and returns to its prompt automatically when you log out |
| from the remote computer or the connection is otherwise lost. |
| .sp |
| You can also dial from a modem that is accessible by Telnet, e.g. to a |
| reverse terminal server. In this case the command sequence is: |
| .sp |
| .nf |
| set host ts.xxx.com 2000 ; Terminal-server and port |
| set modem type usrobotics ; Or other supported type |
| set dial method tone ; (or pulse) |
| dial 7654321 ; Dial the desired number |
| .fi |
| .sp |
| If the terminal server supports the Telnet Com Port Option, RFC 2217, |
| you can also give serial-port related commands such as SET SPEED, SET |
| PARITY, and so on, and Kermit relays them to the terminal server using |
| the protocol specified in the RFC. |
| .sp |
| More info: HELP SET MODEM, HELP SET LINE, HELP SET SPEED, HELP SET |
| FLOW, HELP DIAL, HELP SET DIAL, HELP SET MODEM, HELP SET |
| CARRIER-WATCH, SHOW COMMUNICATIONS, SHOW MODEM, SHOW DIAL. |
| .TP |
| Direct Serial Port |
| Connect the two computers, A and B, with a null modem cable (or two |
| modem cables interconnected with a null-modem adapter or modem |
| eliminator). From Computer A: |
| .sp |
| .nf |
| set modem type none ; There is no modem |
| set line /dev/ttyS0 ; Specify device name |
| set carrier-watch off ; If DTR CD are not cross-connected |
| set speed 57600 ; Or other desired speed |
| set flow rts/cts ; If RTS and CTS are cross-connected |
| set parity even ; (or "mark" or "space", if necessary) |
| set stop-bits 2 ; (rarely necessary) |
| set flow xon/xoff ; If you can't use RTS/CTS |
| connect ; Enter Connect (terminal) state |
| .fi |
| .sp |
| This assumes Computer B is set up to let you log in. If it isn't, you |
| can run a copy of Kermit on Computer B and follow approximately the |
| same directions. More info: As above plus HELP CONNECT. |
| .PP |
| With modems or direct serial connections, you might also have to "set |
| parity even" (or "mark" or "space") if it's a 7-bit connection. |
| .PP |
| Of the connection types listed above, only one can be open at a time. |
| However, any one of these can be open concurrently with an FTP or HTTP |
| session. Each connection type can be customized to any desired degree, |
| scripted, logged, you name it. See the manual. |
| .PP |
| NOTE: On selected platforms, C-Kermit also can make X.25 connections. See |
| the manual for details. |
| .SH TRANSFERRING FILES WITH KERMIT |
| There is a widespread and persistent belief that Kermit is a slow protocol. |
| This is because, until recently, it used conservative tuning by default to |
| make sure file transfers succeeded, rather than failing because they |
| overloaded the connection. Some extra commands (or command-line options, |
| like -Q) were needed to make it go fast, but nobody bothered to find out |
| about them. Also, it takes two to tango: most non-Kermit-Project Kermit |
| protocol implementations really ARE slow. The best file-transfer partners |
| for C-Kermit are: another copy of C-Kermit (7.0 or later) and Kermit 95. |
| These combinations work well and they work fast by default. MS-DOS Kermit |
| is good too, but you have to tell it to go fast (by giving it the FAST |
| command). |
| .PP |
| Furthermore, all three of these Kermit programs support "autodownload" and |
| "autoupload", meaning that when they are in Connect state and a Kermit |
| packet comes in from the remote, they automatically switch into file |
| transfer mode. |
| .PP |
| And plus, C-Kermit and K95 also switch automatically between text and |
| binary mode for each file, so there is no need to "set file type binary" or |
| "set file type text", or to worry about files being corrupted because they |
| were transferred in the wrong mode. |
| .PP |
| What all of these words add up to is that now, when you use up-to-date |
| Kermit software from the Kermit Project, file transfer is not only fast, |
| it's ridiculously easy. You barely have to give any commands at all. |
| .TP |
| Downloading Files |
| Let's say you have Kermit 95, C-Kermit, or MS-DOS Kermit on your |
| desktop computer, with a connection to a Unix computer that has |
| C-Kermit installed as "kermit". To download a file (send it from Unix |
| to your desktop computer), just type the following command at your |
| Unix shell prompt: |
| .sp |
| kermit -s oofa.txt |
| .sp |
| (where oofa.txt is the filename). If you want to send more than one |
| file, you can put as many filenames as you want on the command line, |
| and they can be any combination of text and binary: |
| .sp |
| kermit -s oofa.txt oofa.zip oofa.html oofa.tar.gz |
| .sp |
| and/or you can use wildcards to send groups of files: |
| .sp |
| kermit -s oofa.* |
| .sp |
| If you want to send a file under an assumed name, use: |
| .sp |
| kermit -s friday.txt -a today.txt |
| .sp |
| This sends the file friday.txt but tells the receiving Kermit that its |
| name is today.txt. In all cases, as noted, when the file transfer is |
| finished, your desktop Kermit returns automatically to Connect state. |
| No worries about escaping back, re-connecting, text/binary mode |
| switching. Almost too easy, right? |
| .TP |
| Uploading Files |
| To upload files (send them from your desktop computer to the remote |
| Unix computer) do the same thing, but use the -g (GET) option instead |
| of -s: |
| .sp |
| kermit -g oofa.txt |
| .sp |
| This causes your local Kermit to enter server mode; then the remote |
| Kermit program requests the named file and the local Kermit sends it |
| and returns automatically to Connect state when done. |
| .sp |
| If you want to upload multiple files, you have have use shell quoting |
| rules, since these aren't local files: |
| .sp |
| .nf |
| kermit -g "oofa.txt oofa.zip oofa.html oofa.tar.gz" |
| kermit -g "oofa.*" |
| .fi |
| .sp |
| If you want to upload a file but store it under a different name, use: |
| .sp |
| kermit -g friday.txt -a today.txt |
| .TP |
| Kermit Transfers the Old-Fashioned Way |
| If your desktop communications software does not support autoupload or |
| autodownload, or it does not include Kermit server mode, the procedure |
| requires more steps. |
| .sp |
| To download a file, type: |
| .sp |
| kermit -s filename |
| .sp |
| on the host as before, but if nothing happens automatically in |
| response to this command, you have to switch your desktop |
| communications software into Kermit Receive state. This might be done |
| by escaping back using keyboard characters or hot keys (Alt-x is |
| typical) and/or with a command (like RECEIVE) or a menu. When the file |
| transfer is complete, you have to go back to Connect state, Terminal |
| emulation, or whatever terminology applies to your desktop |
| communications software. |
| .sp |
| To upload a file, type: |
| .sp |
| kermit -r |
| .sp |
| on the host (rather than "kermit -g"). This tells C-Kermit to wait |
| passively for a file to start arriving. Then regain the attention of |
| your desktop software (Alt-x or whatever) and instruct it to send the |
| desired file(s) with Kermit protocol. When the transfer is finished, |
| return to the Connect or Terminal screen. |
| .TP |
| If File Transfer Fails |
| Although every aspect of Kermit's operation can be finely tuned, there |
| are also three short and simple "omnibus tuning" commands you can use |
| for troubleshooting: |
| .RS |
| .TP |
| FAST |
| Use fast file-transfer settings. This has been the default since |
| C-Kermit 7.0 now that most modern computers and connections |
| support it. If transfers fail with fast settings, try . . . |
| .TP |
| CAUTIOUS |
| Use cautious but not paranoid settings. File transfers, if they |
| work, will go at medium speed. If not, try . . . |
| .TP |
| ROBUST |
| Use the most robust, resilient, conservative, safe, and reliable |
| settings. File transfers will almost certainly work, but they |
| will be quite slow (of course this is a classic tradeoff; ROBUST |
| was C-Kermit's default tuning in versions 6.0 and earlier, which |
| made everybody think Kermit protocol was slow). If ROBUST doesn't |
| do the trick, try again with SET PARITY SPACE first in case it's |
| not an 8-bit connection. |
| .RE |
| .sp |
| Obviously the success and performance of a file transfer also depends |
| on C-Kermit's file transfer partner. Up-to-date, real Kermit Project |
| partners are recommended because they contain the best Kermit protocol |
| implementations and because we can support them in case of trouble. |
| .sp |
| If you still have trouble, consult Chapter 10 of Using C-Kermit, or |
| send email to kermit-support@columbia.edu. |
| .TP |
| Advanced Kermit File-Transfer Features |
| Obviously there is a lot more to Kermit file transfer, including all |
| sorts of interactive commands, preferences, options, logging, |
| debugging, troubleshooting, and anything else you can imagine but |
| that's what the manual and updates are for. Here are a few topics you |
| can explore if you're interested by Typing HELP for the listed |
| commands: |
| .RS |
| .TP |
| Logging transfers: |
| LOG TRANSACTIONS (HELP LOG) |
| .TP |
| Automatic per-file text/binary mode switching: |
| SET TRANSFER MODE { AUTOMATIC, MANUAL } (HELP SET TRANSFER). |
| .TP |
| Cross-platform recursive directory tree transfer: |
| SEND /RECURSIVE, GET /RECURSIVE (HELP SEND, HELP GET). |
| .TP |
| File collision options: |
| SET FILE COLLISION { OVERWRITE, BACKUP, DISCARD, ... } (HELP SET FILE). |
| .TP |
| Update: Transfer only files that changed since last time: |
| SET FILE COLLISION UPDATE (HELP SET FILE). |
| .TP |
| Filename selection patterns: |
| (HELP WILDCARD). |
| .TP |
| Flexible file selection: |
| SEND (or GET) /BEFORE /AFTER /LARGER /SMALLER /TYPE /EXCEPT, ... |
| .TP |
| Character-set conversion: |
| SET { FILE, TRANSFER } CHARACTER-SET, ASSOCIATE, ... |
| .TP |
| File/Pathname control: |
| SET { SEND, RECEIVE } PATHNAMES, SET FILE NAMES. |
| .TP |
| Atomic file movement: |
| SEND (or GET) /DELETE /RENAME /MOVE-TO |
| .TP |
| Transferring to/from standard i/o of other commands: |
| SEND (or GET) /COMMAND |
| .TP |
| Recovery of interrupted transfer from point of failure: |
| RESEND, REGET (HELP RESEND, HELP REGET). |
| .RE |
| .TP |
| Non-Kermit File Transfer |
| You can also use C-Kermit to transfer files with FTP or HTTP Internet |
| protocols; see below. |
| .sp |
| On a regular serial or Telnet connection where the other computer |
| doesn't support Kermit protocol at all, you have several options. For |
| example, if your desktop communications software supports Zmodem, use |
| "rz" and "sz" on the host rather than Kermit. But if Kermit is your |
| desktop software, and you are using it to make calls or network |
| connections to other computers that don't support Kermit protocol (or |
| that don't have a good implementation of it), then if your computer |
| also has external X, Y, or Zmodem programs that are redirectable, |
| Kermit can use them as external protocols. HELP SET PROTOCOL for |
| details. |
| .sp |
| You can also capture "raw" data streams from the other computer with |
| LOG SESSION (HELP LOG and HELP SET SESSION-LOG for details), and you |
| can upload files without any protocol at all with TRANSMIT (HELP |
| TRANSMIT, HELP SET TRANSMIT). |
| .SH KERMIT'S BUILT-IN FTP AND HTTP CLIENTS |
| Kermit's FTP client is like the regular Unix FTP client that you're used |
| to, but with some differences: |
| .TP |
| \(bu |
| It has lots more commands and features. |
| .TP |
| \(bu |
| Each FTP command must be prefixed with "ftp", for example "ftp open", |
| "ftp get", "ftp bye", etc (this is not strictly true, but until you're |
| more familiar with it, it's best to follow this rule). |
| .TP |
| \(bu |
| Commands like "cd", "directory", etc, execute locally, not on the |
| server. Use "ftp cd", "ftp dir", etc, to have them act on the server. |
| .TP |
| \(bu |
| You can have an FTP session and a regular Kermit serial or Telnet |
| session open at the same time. |
| .TP |
| \(bu |
| FTP sessions can be fully automated. |
| .PP |
| Pending publication of the next edition of the manual, the Kermit FTP |
| client is thoroughly documented at the Kermit Project website: |
| .sp |
| http://www.columbia.edu/kermit/ftpclient.html |
| .sp |
| You also can use HELP FTP and HELP SET FTP to get descriptions of Kermit's |
| FTP-related commands. |
| .PP |
| The HTTP client is similar to the FTP one, except you prefix each command |
| with HTTP instead of FTP: HTTP OPEN, HTTP GET, HTTP PUT, HTTP CLOSE, etc. |
| Type HELP HTTP for details, or visit the to view the manual supplements. |
| HTTP connections can be open at the same time as regular serial or Telnet |
| connections and FTP connections. So Kermit can manage up to three types |
| connections simultaneously. |
| .SH INTERNET KERMIT SERVICE |
| C-Kermit can be configured and run as an Internet service (called IKSD), |
| similar to an FTP server (FTPD) except you can (but need not) interact with |
| it directly, plus it does a lot more than an FTP server can do. The TCP |
| port for IKSD is 1649. It uses Telnet protocol. C-Kermit can be an Internet |
| Kermit Server, or it can be a client of an IKSD. You can make connections |
| from C-Kermit to an IKSD with any of the following commands: |
| .sp |
| .nf |
| telnet foo.bar.edu 1649 |
| telnet foo.bar.edu kermit ; if "kermit" is listed in /etc/services |
| iksd foo.bar.edu |
| .fi |
| .sp |
| The IKSD command is equivalent to a TELNET command specifying port 1649. |
| For more information about making and using connections to an IKSD, see: |
| .sp |
| http://www.columbia.edu/kermit/cuiksd.html |
| .sp |
| You can run an Internet Kermit Service on your own computer too (if you are |
| the system administrator). For instructions, see: |
| .sp |
| http://www.columbia.edu/kermit/iksd.html |
| .SH SECURITY |
| All of C-Kermit's built-in TCP/IP networking methods (Telnet, Rlogin, IKSD, |
| FTP, and HTTP) can be secured by one or more of the following IETF-approved |
| methods: |
| .PP |
| \(bu MIT Kerberos IV |
| .br |
| \(bu MIT Kerberos V |
| .br |
| \(bu SSL/TLS |
| .br |
| \(bu Stanford SRP |
| .PP |
| For complete instructions see: |
| .PP |
| http://www.columbia.edu/kermit/security.html |
| .PP |
| And as noted previously, you can also make SSH connections with C-Kermit if |
| you already have an SSH client installed. |
| .SH ALTERNATIVE COMMAND-LINE PERSONALITIES |
| When invoked as "kermit" or any other name besides "ftp" or "telnet", |
| C-Kermit has the command-line options described above in the OPTIONS |
| section. However, if you invoke C-Kermit as "telnet" or "ftp", it changes |
| its command-line personality to match. This can be done (among other ways) |
| with symbolic links (symlinks). For example, if you want C-Kermit to be |
| your regular Telnet client, or the Telnet helper of your Web browser, you |
| can create a link like the following in a directory that lies in your PATH |
| ahead of the regular telnet program: |
| .sp |
| ln -s /usr/local/bin/kermit telnet |
| .sp |
| Now when you give a "telnet" command, you are invoking Kermit instead, but |
| with its Telnet command-line personality so, for example: |
| .sp |
| telnet xyzcorp.com |
| .sp |
| Makes a Telnet connection to xyzcorp.com, and Kermit exits automatically |
| when the connection is closed (just like the regular Telnet client). Type |
| "telnet -h" to get a list of Kermit's Telnet-personality command-line |
| options, which are intended to be as compatible as possible with the |
| regular Telnet client. |
| .PP |
| Similarly for FTP: |
| .sp |
| ln -s /usr/local/bin/kermit ftp |
| .sp |
| And now type "ftp -h" to see its command-line options, and command lines |
| just like you would give your regular FTP client: |
| .sp |
| ftp xyzcorp.com |
| .sp |
| but with additional options allowing an entire session to be specified on |
| the command line. Finally, if Kermit's |
| first command-line option is a Telnet, FTP, IKSD, or HTTP URL, Kermit |
| automatically makes the appropriate kind of connection and, if indicated by |
| the URL, takes the desired action: |
| .TP |
| kermit telnet:xyzcorp.com |
| Opens a Telnet session |
| .TP |
| kermit telnet://olga@xyzcorp.com |
| Ditto for user olga |
| .TP |
| kermit ftp://olga@xyzcorp.com/public/oofa.zip |
| Downloads a file |
| .TP |
| kermit kermit://kermit.columbia.edu/kermit/f/READ.ME |
| Ditto for IKSD |
| .TP |
| kermit iksd://kermit.columbia.edu/kermit/f/READ.ME |
| (This works too) |
| .TP |
| kermit http://www.columbia.edu/kermit/index.html |
| Grabs a web page |
| .fi |
| .SH LICENSE |
| C-Kermit has an unusual license, but a fair and sensible one since the |
| Kermit Project must support itself out of revenue: it's not a BSD license, |
| not GPL, not Artistic, not commercial, not shareware, not freeware. It can |
| be summed up like this: if you want C-Kermit for your own use, you can |
| download and use it without cost or license (but we'd appreciate it if you |
| would purchase the manual). But if you want to sell C-Kermit or bundle it |
| with a product or otherwise distribute it in a commercial setting EXCEPT |
| WITH AN OPEN-SOURCE OPERATING SYSTEM DISTRIBUTION such as Linux, FreeBSD, |
| NetBSD, or OpenBSD, you must license it. To see the complete license, give |
| the LICENSE command at the prompt, or see the COPYING.TXT file distributed |
| with C-Kermit 7.0 or later, or download it from |
| .sp |
| ftp://kermit.columbia.edu/kermit/c-kermit/COPYING.TXT |
| .sp |
| Send licensing inquiries to kermit@columbia.edu. |
| .SH BUGS |
| See the following files for listings of known bugs, limitations, |
| workarounds, hints and tips: |
| .TP |
| ckcbwr.txt |
| General C-Kermit bugs, hints, tips. |
| .TP |
| ckubwr.txt |
| Unix-specific C-Kermit bugs, hints, tips. |
| .PP |
| Report bugs and problems by email to: |
| .sp |
| kermit-support@columbia.edu. |
| .sp |
| Before requesting technical support, please read the hints here: |
| .sp |
| http://www.columbia.edu/kermit/support.html |
| .sp |
| and also read the C-Kermit Frequently Asked Questions: |
| .sp |
| http://www.columbia.edu/kermit/ckfaq.html |
| .SH OTHER TOPICS |
| There's way more to C-Kermit than we've touched on here -- troubleshooting, |
| customization, character sets, dialing directories, sending pages, script |
| writing, and on and on, all of which are covered in the manual and updates |
| and supplements. For the most up-to-date information on documentation (or |
| updated documentation itself) visit the Kermit Project website: |
| .sp |
| http://www.columbia.edu/kermit/ |
| .PP |
| There you will also find Kermit software packages for other platforms: |
| different Unix varieties, Windows, DOS, VMS, IBM mainframes, and many |
| others: 20+ years' worth. |
| .SH DOCUMENTATION AND UPDATES |
| The manual for C-Kermit is: |
| .TP |
| .I |
| Using C-Kermit |
| Frank da Cruz and Christine M. Gianone, |
| Second Edition, Digital Press / Butterworth-Heinemann, Woburn, MA, 1997, 622 |
| pages, ISBN 1-55558-164-1. This is a printed book. It covers C-Kermit 6.0. |
| .TP |
| The C-Kermit 7.0 Supplement |
| http://www.columbia.edu/kermit/ckermit2.html |
| .TP |
| The C-Kermit 8.0 Supplement |
| http://www.columbia.edu/kermit/ckermit3.html |
| .PP |
| Visit C-Kermit home page: |
| .sp |
| http://www.columbia.edu/kermit/ckermit.html |
| .sp |
| to learn about new versions, Beta tests, and other news; to |
| read case studies and tutorials; to download source code, install packages, |
| and prebuilt binaries for many platforms. Also visit: |
| .TP |
| http://www.columbia.edu/kermit/scriptlib.html |
| The Kermit script library and tutorial |
| .TP |
| http://www.columbia.edu/kermit/newfaq.html |
| The Kermit FAQ (Frequently Asked Questions about Kermit) |
| .TP |
| http://www.columbia.edu/kermit/ckfaq.html |
| The C-Kermit FAQ (Frequently Asked Questions about C-Kermit) |
| .TP |
| http://www.columbia.edu/kermit/telnet.html |
| C-Kermit Telnet client documentation |
| .TP |
| http://www.columbia.edu/kermit/security.html |
| C-Kermit security documentation (Kerberos, SSL/TLS, etc) |
| .TP |
| http://www.columbia.edu/kermit/cuiksd.html |
| Internet Kermit Service user documentation |
| .TP |
| http://www.columbia.edu/kermit/iksd.html |
| Internet Kermit Service administrator documentation |
| .TP |
| http://www.columbia.edu/kermit/studies.html |
| Case studies. |
| .TP |
| http://www.columbia.edu/kermit/support.html |
| Technical support. |
| .TP |
| http://www.columbia.edu/kermit/k95tutorial.html |
| Kermit 95 tutorial. |
| .TP |
| comp.protocols.kermit.misc |
| The Kermit newsgroup (unmoderated). |
| .SH FILES |
| .TP |
| COPYING.TXT |
| C-Kermit license. |
| .TP |
| ~/.kermrc |
| Initialization file. |
| .TP |
| ~/.mykermrc |
| Customization file. |
| .TP |
| ~/.kdd |
| Kermit dialing directory (see manual). |
| .TP |
| ~/.knd |
| Kermit network directory (see manual). |
| .TP |
| ~/.ksd |
| Kermit services directory (see manual). |
| .TP |
| ca_certs.pem |
| Certificate Authority certifcates used for SSL connections. |
| .TP |
| ckuins.txt |
| Installation instructions for Unix. Also at |
| http://www.columbia.edu/kermit/ckuins.html. |
| .TP |
| ckcbwr.txt |
| General C-Kermit bugs, hints, tips. |
| .TP |
| ckubwr.txt |
| Unix-specific C-Kermit bugs, hints, tips. |
| .TP |
| ckcplm.txt |
| C-Kermit program logic manual. |
| .TP |
| ckccfg.txt |
| C-Kermit compile-time configuration options. |
| .TP |
| ssh |
| (in your PATH) SSH connection helper. |
| .TP |
| rz, sz, etc. |
| (in your PATH) external protocols for XYZmodem. |
| .TP |
| /var/spool/locks (or whatever) |
| UUCP lockfile for dialing out (see installation instructions). |
| .SH AUTHORS |
| .TP |
| Software |
| Frank da Cruz and Jeffrey E Altman, |
| .br |
| 1985-present, with contributions from hundreds of others all over the |
| world. |
| .TP |
| Documentation |
| Frank da Cruz and Christine M Gianone |
| .TP |
| Address |
| .nf |
| The Kermit Project - Columbia Univerity |
| 612 West 115th Street |
| New York NY 10025-7799 |
| USA |
| .fi |
| .TP |
| E-Mail |
| kermit@columbia.edu |
| .TP |
| Web |
| http://www.columbia.edu/kermit/ |
| .fi |
| .br |