kermit Command kermit
Remote system communication and file transfer
kermit c[bel baud esc line]
kermit r[bdfhilt baud line]
kermit s[abdfhilmtx baud line] file ...
kermit allows the user to communicate with a remote computer sys-
tem and to transfer files between the local and remote systems.
kermit can transfer ASCII or binary files of any length in either
direction. The two computers must be able to contact each other,
such as through a serial line or by modem over a telephone line,
and both systems must have kermit available. The user must have
login privileges on both systems and appropriate permissions in
directories used for file transfer.
The kermit command line specifies a mode, followed without inter-
vening spaces by optional flags, perhaps followed by additional
arguments and files. The three possible modes are as follows:
c Connect the two systems so they can communicate
r Receive files from the other system
s Send each file to the other system.
kermit normally uses a default communication line at a default
baud rate; the defaults vary from system to system. kermit norm-
ally strips leading directory information from the path name of
each file it sends and converts the name to upper case; it con-
verts the file name to lower case when receiving.
The following flags modify kermit's normal behavior.
a Specify complete path names for sending and receiving
files. Used only with s mode. The a flag requires file
names in pairs: first the file to be sent, then the
receiving file. For example, the command
kermit sa /usr/joe/stuff.c /usr/tom/src/thing.c
sends the file /usr/joe/stuff.c but specifies its name as
/usr/tom/src/thing.c for the receiving system. The tar-
get directory must exist on the receiving system. The a
flag implies the use of the f and x flags described
below.
b baud Set the baud rate of the port to baud.
d Debug mode. Tell kermit to print messages that describe
its actions. Message appear on the standard output, not
the standard error.
e esc Change the escape character from the default `^' to esc;
used only with c mode. The escape character marks com-
COHERENT Lexicon Page 1
kermit Command kermit
mands to kermit c while it is running, as described
below.
f Suppress conversion of the case of file names.
h Host mode. Tell kermit to use the same line for file
transfer and for communication; used with either r or s
mode on the remote system only. When invoked with the h
flag, kermit resets the line modes properly when it com-
pletes a file transfer. If you do not use the h flag,
kermit will probably leave the remote system line in raw,
no-echo mode.
i Image mode. Tell kermit to send a full eight-bit byte
for each character; this is necessary to transfer binary
(non-ASCII) files. If you use i flag when sending, also
use it on the receiving system.
L Log all kermit commands into file Log.
l line Use line. For example, the command
kermit clb /dev/tty50 1200
tells kermit to use line tty50 at 1200 baud instead of
the default line and baud rate.
m Macintosh mode. Necessary when sending files to an Apple
Macintosh; used only with s mode.
t Tymnet mode. Allows Tymnet to keep up with file
transmission.
x Allows the specification of a complete pathname for the
receiving file; used only with s mode. For example, the
command
kermit sx mydir/stuff
sends the file mydir/stuff to mydir/stuff on the
receiving system. The target directory must exist on the
receiving system and the user must have write permission
in it.
kermit c recognizes two escape sequences. The default escape
character `^' can be changed with the e flag, as noted above.
^c Exit from kermit and break the connection between the two
systems. This notation does not mean <ctrl-C>; rather,
you must literally type the escape character (by default,
a carat `^') and then the letter `c'.
^s Suspend kermit on the host system but do not hang up the
line.
COHERENT Lexicon Page 2
kermit Command kermit
Unlike some file transfer protocols, kermit requires that you in-
voke it on both the sending and receiving systems to transfer a
file. As shown in the example below, you normally use kermit c
to connect to the remote system, invoke kermit with the h flag in
either send or receive mode on the remote system only, type
``^s'' to suspend the local kermit c, and finally invoke kermit
in receive or send mode on the local system.
The following example demonstrates the use of kermit. The ex-
ample assumes the user is already logged in on the local system.
The communication line is /dev/com2 and runs at 2400 baud. The
user wants to transfer locfile to the remote system and remfile
from the remote system. System names are in italics on the left,
user input is in Roman, system responses are in bold, and remarks
are in parentheses.
local kermit clb /dev/com2 2400(connect to remote system)
local kermit: connected... (type a carriage return)
remote Coherent login: (perform login procedure)
remote kermit shi remfile (send from remote)
remote )S~_@X#T (part of protocol, ignore)
remote ^s (suspend local kermit)
local kermit: suspended.
local kermit rilb /dev/com2 2400(receive on local)
local kermit: Receiving REMFILE as remfile
local kermit: done.
local kermit clb /dev/com2 2400(connect again)
remote kermit rhi (receive on remote)
remote ^s (suspend local kermit)
local kermit: suspended.
local kermit silb /dev/com2 2400 locfile(send from local)
local kermit: Sending locfile as LOCFILE
local kermit: done.
local kermit clb /dev/com2 2400(connect again)
remote <ctrl-D> (log off the remote system)
remote Coherent login:
remote ^c (disconnect local kermit)
COHERENT Lexicon Page 3
kermit Command kermit
local kermit: disconnected.
***** See Also *****
commands
Kermit: A file-transfer protocol for universities, BYTE, June
1984 pp. 255ff, July 1984 pp. 143ff
***** Diagnostics *****
kermit may print the following error messages:
Aborting with following error from remote host
Problem appeared on receiving system.
Bad line speed
Transmission was attempted at an illegal baud rate.
Cannot create name
The receiving system cannot create name. Confirm that you
have write permission on the receiving system.
Cannot open file name
The sending system cannot open name. Either you do not have
read permission on the sending system, or the file is not
present in the named directory.
Cannot open line
An incorrect line number was specified.
No line specified for connection
The line argument missing after the -l option.
Receive failed
The file being sent was not received; this could be due to
any one of a number of reasons. Check that everything is
functioning normally, and then try to send the file again.
Send failed
The requested file was not sent.
Speed setting not implemented
An unimplemented baud rate was selected for the -b option.
Yes, I'm still here...
The connect command was repeated.
***** Notes *****
If you type kermit c and get the message kermit connected but the
remote system does not respond, check the line that connects the
two systems and the ability of the remote system to accept a
COHERENT Lexicon Page 4
kermit Command kermit
login on the line.
The file transfer protocol uses small (96-character) checksummed
packets, with ACK/NAK responses from the receiving system. The
timeout period is five seconds, and kermit does ten retries
before it abandons an attempted file transfer.
The kermit protocol was developed at the Columbia University
Center for Computing Activities. Tymnet is a trademark of Tym-
share, Inc.
COHERENT Lexicon Page 5