kermit(1)

NAME

kermit - C-Kermit 8.0: transport- and platform-independent interactive and scriptable communications software.
This document is intended to give the beginner suf
ficient 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, charac
ter-sets, scripting, etc. We also attempt to pro
vide 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.
This document is also available as a Web page at:

http://www.columbia.edu/kermit/ckututor.html

DESCRIPTION

C-Kermit is an all-purpose communications software package
from the Kermit Project at Columbia University that:

· Is portable to many platforms, Unix and non-Unix
alike.
· Can make both serial and network connections.
· Can conduct interactive terminal sessions over its
connection.
· Can transfer text or binary files over the same con
nection.
· Can convert character sets in the terminal session.
· Can convert character sets during text-file file
transfer.
· Is customizable in every aspect of its operation.
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].
And perhaps most important, everything you can do "by
hand" (interactively) with C-Kermit, can be "scripted"
(automated) using its built-in cross-platform transportindependent script programming language, which happens to
be identical to its interactive command language.
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, Sys
tem 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 DOCUMENTA
TION below). For further information about C-Kermit, Ker
mit software for other platforms, and Kermit manuals,
visit the Kermit Project website:

http://www.columbia.edu/kermit/
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.

SYNOPSIS

kermit [ filename ] [ options ] [ {=,--,+} text ] ]
or:
kermit URL
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 fol
lowing '=' available as 1, 2, ... 9. The "+" argu
ment 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.
Order of execution:
 1.    The command file (if any).
 2.    The initialization file, if any, unless  suppressed
with -Y.
 3.    The customization file (if it is executed by the
       initialization file).
 4.    The command-line URL (if any, and if so, execution
       stops here).
 5.    Command-line options (if any).
 6.    Interactive commands.
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.
       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 sup
       port 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.
C-Kermit has three kinds of commands: regular single-let
ter command-line options, extended-format command-line
options, and interactive commands.
Like most Unix commands, C-Kermit can be be given options
on the command line. But C-Kermit also can be used inter
actively 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.)
C-Kermit is generally installed in the PATH as "kermit",
and therefore is invoked by typing the word "kermit" (low
ercase) 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:
  $ kermit -s ckermit.tar.gz
('$' is the shell prompt; "kermit -s ckermit.tar.gz" is
what you type, followed by Return or Enter.)

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".

-0 (digit zero) 100% transparent Connect state for
"in-the-middle" operation: 8 bits, no parity, no
escape character, everything passes through.
-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.
-9 arg (digit nine) Make a connection to an FTP server.Equivalent to the FTP OPEN command. Argument: IPaddress-or-hostname[:optional-TCP-port]. NOTE: CKermit also has a separate FTP command-line person
ality, with regular FTP-like command-line syntax.
More about this below.
-A Kermit is to be started as an Internet service
(IKSD) (only from inetd.conf).
-B Kermit is running in Batch or Background (no con
trolling terminal). To be used in case Kermit
doesn't automatically sense its background status.
Equivalent to the SET BACKGROUND ON command.
-C arg Interactive-mode Commands to be executed. Argu
ment: Commands separated by commas, list in double
quotes.
-D arg Delay before starting to send in Remote mode.
Equivalent to the SET DELAY command. Argument:
Number of seconds.
-E Exit automatically when connection closes. Equiva
lent to SET EXIT ON-DISCONNECT ON.
-F arg Use an open TCP connection. Argument: Numeric file
descriptor of open TCP connection. Also see: -j,
-J.
-G arg (ACTION) Get file(s) from server, send contents to
standard output, which normally would be piped to
another process. Argument: Remote file specifica
tion, in quotes if it contains metacharacters.
Also see: -g, -k.
-H Suppress program startup Herald and greeting.
-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.
-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 Tel
net-like command-line syntax. More about this
below.
-L Recursive directory descent for files in -s option.
-M arg My user name (for use with Telnet, Rlogin, FTP,
etc). Equivalent to the SET LOGIN USER command.
Argument: Username string.
-O (ACTION) (Uppercase letter O) Be a server for One
command only. Also see: -x.
-P Don't convert file (Path) names of transferred
files. Equivalent to SET FILE NAMES LITERAL.
-Q Quick Kermit protocol settings. Equivalent to the
FAST command. This is the default in C-Kermit 7.0
and later.
-R Remote-only (this just makes IF REMOTE true).
-S Stay (enter command parser after action options).
-T Force Text mode for file transfer; implies -V.
Equivalent to SET TRANSFER MODE MANUAL, SET FILE
TYPE TEXT.
-V Disable automatic per-file text/binary switching.
Equivalent to SET TRANSFER MODE MANUAL.
-Y Skip (don't execute) the initialization file.
-a arg As-name for file(s) in -s, -r, or -g. Argument:
As-name string (alternative filename). When receiv
ing files, this can be a directory name.
-b arg Speed for serial device. Equivalent to SET SPEED.
Argument: Numeric Bits per second for serial con
nections.
-c (ACTION) Enter Connect state before transferring
files.
-d Create a debug.log file with detailed debugging
information (a second -d adds timestamps). Equiva
lent to LOG DEBUG but takes effect sooner.
-e arg Maximum length for incoming Kermit file-transfer
packets. Equivalent to SET RECEIVE PACKET-LENGTH.
Argument: Length in bytes.
-f (ACTION) Send a FINISH command to a Kermit server.
-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.
-h (ACTION) Print Help text for single-letter command
line options (pipe thru 'more' to prevent
scrolling).
-i Force binary (Image) mode for file transfer;
implies -V. Equivalent to SET TRANSFER MODE MANUAL,
SET FILE TYPE BINARY.
-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.
-k (ACTION) Receive file(s) to standard output, which
normally would be piped to another process. Also
see: -r, -G.
-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.
-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".
-n (ACTION) Enter Connect state after transferring
files (historical).
-p arg Parity. Equivalent to the SET PARITY command.
Argument: One of the following: e(ven), o(dd),
m(ark), n(one), s(pace).
-q Quiet (suppress most messages). Equivalent to SET
QUIET ON.
-r (ACTION) Receive file(s). Equivalent to the RECEIVE
command. Argument: (none, but see -a)
-s arg Send file(s). Argument: One or more local file
specifications. Equivalent to the SEND command.
Also see: -a.
-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.
-v arg Window size for Kermit protocol (ignored when
streaming). Equivalanet to SET WINDOW-SIZE.
Argument: Number, 1 to 32.
-w Incoming files Write over existing files. Equiva
lent to SET FILE COLLISION OVERWRITE.
-x (ACTION) Enter server mode. Equivalent to the
SERVER command. Also see: -O.
-y arg Alternative initialization file. Argument: File
name.
-z Force foreground behavior. To be used in case Ker
mit doesn't automatically sense its foreground sta
tus. Equivalent to the SET BACKGROUND OFF command.
Extended command-line options (necessary because singleletter 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:

--bannerfile:filename
File to display upon startup or IKSD login.
--cdfile:filename
File to be sent for display to the client when
server changes directory (filename is relative to
the changed-to directory).
--cdmessage:{on,off}
Enable/disable the server CD message feature.
--help
Prints usage message for extended options.
--helpfile:filename
Designates a file containing custom text to replace
the top-level HELP command.
--nointerrupts
Disables keyboard interrupts.
--noperms
Disables the Kermit protocol file Permissions
attribute, to prevent transmission of file permis
sions (protection) from sender to receiver.
--version
(ACTION) C-Kermit prints its version number.
Plus several other IKSD-Only options described at:

http://www.columbia.edu/kermit/iksd.html
See the file-transfer section for examples of command-line
invocation.

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:
$ kermit
(/current/directory) C-Kermit>
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" (introduc
tion). Note the prompt shows your current directory
(unless you tell Kermit to prompt you with something
else).
Interactive commands are composed mainly of regular
English words, usually in the form of imperative sen
tences, such as:

send oofa.txt
which tells Kermit to send (transfer) the file whose name
is oofa.txt, or:

set transfer mode automatic
which sets Kermit's "transfer mode" to "automatic" (what
ever that means).
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.
C-Kermit has hundreds of commands, and they can be issued
in infinite variety and combinations, including commands
for:
· Making connections (SET LINE, DIAL, TELNET, SSH, FTP,
...)
· Breaking connections (HANGUP, CLOSE)
· Transferring files (SEND, GET, RECEIVE, MOVE, RESEND,
...)
· Establishing preferences (SET)
· Displaying preferences (SHOW)
· Managing local files (CD, DELETE, MKDIR, DIR, RENAME,
TYPE, ...)
· Managing remote files (RCD, RDEL, RMKDIR, RDIR, ...)
· Using local files (FOPEN, FCLOSE, FREAD, FWRITE)
· Programming (TAKE, DEFINE, IF, FOR, WHILE, SWITCH,
DECLARE, ...)
· Interacting with the user (ECHO, ASK, ...)
· Interacting with a remote computer (INPUT, OUTPUT,
...)
· Interacting with local programs (RUN, EXEC, PTY, ...)
· Logging things (LOG SESSION, LOG PACKETS, LOG DEBUG,
...)
And of course QUIT or EXIT to get out and HELP to get
help, and for programmers: loops, decision making, vari
ables, arrays, associative arrays, integer and floating
point arithmetic, macros, built-in and user-defined func
tions, string manipulation, pattern matching, block struc
ture, 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:

help send
The command interruption character is Ctrl-C (hold down
the Ctrl key and press the C key).
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.:

get c:55custom.ini
Command Files, Macros, and Scripts A file containing Kermit commands is called a Kermit com
mand file or Kermit script. It can be executed with Ker
mit's TAKE command:

(/current/dir) C-Kermit> take commandfile
(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.
In Unix only, a Kermit command file can also be executed
directly by including a "kerbang" line as the first line
of the file:

#!/usr/local/bin/kermit +
That is, a top line that starts with "#!", followed imme
diately 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:

chmod +x commandfile
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):

#!/usr/local/bin/kermit +
if defined 1 echo "Argument 1: 1"
if defined 2 echo "Argument 2: 2"
if defined 3 echo "Argument 3: 3"
if defined 4 echo "etc..."
exit
If this file is stored in your current directory as "com
mandfile", then:

./commandfile one two three four five
prints:

Argument 1: one
Argument 2: two
Argument 3: three
etc...
This illustrates the basic structure of a standalone Ker
mit script: the "kerbang line", then some commands. It
should end with "exit" unless you want the Kermit prompt
to appear when it is finished. 1 is the first argument,
2 the second, and so on.
You can also create your own commands by defining named
macros composed of other Kermit commands (or macros). For
example:

define mydelete {
local trash
assign trash home)trashcan/
if not defined 1 end 1 "Delete what?"
if wild 1 {
end 1 "Deleting multiple files is too scary"
}
if not exist 1 end 1 "I can't find 1"
if not directory ash) {
mkdir ash)
if fail end 1 "No trash can"
}
rename /list 1 ash)
}
define myundelete {
local trash
assign trash home)trashcan/
if not defined 1 end 1 "Undelete what?"
if wild 1 {
end 1 "Undeleting multiple files is too hard"
}
if not directory ash) end 1 "No trash can"
if not exist ash)1 {
end 1 "I can't find 1 in trash can"
}
rename /list ash)1 .
}
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 initializa
tion file. (Exercise for the reader: Make these macros
generally useful: remove limitations, add trashcan dis
play, browsing, emptying, etc.)
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

take home).kermrc
at the desired spot in the script. By the way, 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 ?". x) is a user
defined variable (strictly speaking, it is a macro used as
a variable).
Command List
C-Kermit has more than 200 top-level commands, and some of
these, such as SET, branch off into hundreds of subcom
mands of their own, so it's not practical to describe them
all here. Instead, here's a concise list of the most com
monly used top-level commands, grouped by category. To
learn about each command, type "help" followed by the com
mand name, e.g. "help set". Terms such as Command state
and Connect state are explained in subsequent sections.
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 charac
ters like '*' to match groups of files. options are
(optional) switches like /PAGE, /NOPAGE, /QUIET, etc,
listed in the HELP text for each command. Example:

send /recursive /larger:10000 /after:-1week /ex
cept:*.txt *
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".
Basic Commands
HELP Requests top-level help.
HELP command
Requests help about the given command.
INTRODUCTION
Requests a brief introduction to C-Kermit.
LICENSE
Displays the C-Kermit software copyright and
license.
VERSION
Displays C-Kermit's version number.
EXIT [ number ]
Exits from Kermit with the given status
code. Synonyms: QUIT, E, Q.
TAKE filename [ parameters... ]
Executes commands from the given
LOG item [ filename ]
Keeps a log of the given item in the given
file.
[ DO ] macro [ parameters... ]
Executes commands from the given macro.
SET parameter value
Sets the given parameter to the given value.
SHOW category
Shows settings in a given category.
STATUS Tells whether previous command succeeded or
failed.
DATE [ date-and/or-time ]
Shows current date-time or interprets given
date-time.
RUN [ extern-command [ parameters... ]
Runs the given external command. Synonym: !.
EXEC [ extern-command [ params... ]
Kermit overlays itself with the given com
mand.
SUSPEND
Stops Kermit and puts it in the background.
Synonym: Z.
Local File Management
TYPE [ options ] filename
Displays the contents of the given file.
MORE [ options ] filename
Equivalent to TYPE /PAGE (pause after each
screenful).
CAT [ options ] filename
Equivalent to TYPE /NOPAGE.
HEAD [ options ] filename
Displays the first few lines of a given
file.
TAIL [ options ] filename
Displays the last few lines of a given file.
GREP [ options ] pattern filespec
Displays lines from files that match the
pattern. Synonym: FIND.
DIRECTORY [ options ] [filespec ]
Lists files (built-in, many options).
LS [ options ] [ filespec ]
Lists files (runs external "ls" command).
DELETE [ options ] [ filespec ]
Deletes files. Synonym: RM.
PURGE [ options ] [ filespec ]
Removes backup (*.~n~) files.
COPY [ options ] [ filespecs... ]
Copies files. Synonym: CP.
RENAME [ options ] [ filespecs... ]
Renames files. Synonym: MV.
CHMOD [ options ] [ filespecs... ]
Changes permissions of files.
TRANSLATE filename charsets [ filename ]
Converts file's character set. Synonym:
XLATE.
CD Changes your working directory to your home
directory.
CD directory
Changes your working directory to the one
given.
CDUP Changes your working directory one level up.
PWD Displays your working directory.
BACK Returns to your previous working directory.
MKDIR [ directory ]
Creates a directory.
RMDIR [ directory ]
Removes a directory.
Making Connections
SET LINE [ options ] devicename
Opens the named serial port. Synonym: SET
PORT.
OPEN LINE [ options ] devicename
Same as SET LINE. Synonym: OPEN PORT.
SET MODEM TYPE [ name ]
Tells Kermit what kind of modem is on the
port.
DIAL [ number ]
Tells Kermit to dial the given phone number
with the modem.
REDIAL Redials the most recently dialed phone num
ber.
ANSWER Waits for and answers an incoming call on
the modem.
AUTHENTICATE [ parameters... ]
Performs secure authentication on a TCP/IP
connection.
SET NETWORK TYPE { TCP/IP, X.25, ... }
Selects network type for subsequent SET HOST
commands.
SET HOST [ options ] host [ port ]
Opens a network connection to the given host
and port.
SET HOST * port
Waits for an incoming TCP/IP connection on
the given port.
TELNET [ options ] host
Opens a Telnet connection to the host and
enters Connect state.
RLOGIN [ options ] host
Opens an Rlogin connection to the host and
enters Connect state.
IKSD [ options ] host
Opens a connection to an Internet Kermit
Service.
SSH [ options ] host
Opens an SSH connection to the host and
enters Connect state.
FTP OPEN host [ options ]
Opens an FTP connection to the host.
HTTP [ options ] OPEN host
Opens an HTTP connection to the host.
PTY external-command
Runs the command on a pseudoterminal as if
it were a connection.
PIPE external-command
Runs the command through a pipe as if it
were a connection.
Using Connections
CONNECT [ options ]
Enters Connect (terminal) state. Synonym:
C.
REDIRECT command
Redirects the given external command over
the connection.
TELOPT command
Sends a Telnet protocol command (Telnet con
nections only).
Ctrl- "Escapes back" from Con
nect state to Command
state.
Ctrl-0 (In Connect state) Sends
a BREAK signal
(serial or Telnet).
Ctrl
(In Connect state) Enters inferior shell;
"exit" to return.
Ctrl- (In Connect state) Shows
a menu of other
escape-level options.
Ctrl- (In Connect state) Type
two Ctrl-Backslashes
to send one of them.
SET ESCAPE [ character ]
Changes Kermit's Connect-state escape char
acter.
Closing Connections
HANGUP Hangs up the currently open serial-port or
network connection.
CLOSE Closes the currently open serial-port or
network connection.
SET LINE (with no devicename)
Closes the currently open serial-port or
network connection.
SET HOST (with no hostname)
Closes the currently open serial-port or
network connection.
FTP CLOSE
Closes the currently open FTP connection.
HTTP CLOSE
Closes the currently open HTTP connection.
EXIT Also closes all connections. Synonym: QUIT.
SET EXIT WARNING OFF
Suppresses warning about open connections on
exit or close.
File Transfer
SEND [ options ] filename [ as-name ]
Sends the given file. Synonym: S.
SEND [ options ] filespec
Sends all files that match.
RESEND [ options ] filespec
Resumes an interupted SEND from the point of
failure.
RECEIVE [ options ] [ as-name ]
Waits passively for files to arrive. Syn
onym: R.
LOG TRANSACTIONS [ filename ]
Keeps a record of file transfers.
FAST Use fast file-transfer settings (default).
CAUTIOUS
Use cautious and less fast file-transfer
settings.
ROBUST Use ultra-conservative and slow file-trans
fer settings.
STATISTICS [ options ]
Gives statistics about the most recent file
transfer.
WHERE After transfer: "Where did my files go?".
TRANSMIT [ options ] [ofilename ]
Sends file without protocol. Synonym: XMIT.
LOG SESSION [ filename ]
Captures remote text or files without proto
col.
SET PROTOCOL [ name... ]
Tells Kermit to use an external file-trans
fer protocol.
FTP { PUT, MPUT, GET, MGET, ... }
FTP client commands.
HTTP { PUT, GET, HEAD, POST, ... }
HTTP client commands.
Kermit Server
ENABLE, DISABLE
Controls which server features can be used
by clients.
SET SERVER
Sets parameters prior to entering Server
state.
SERVER Enters Server state.
Client of Kermit or FTP Server [ REMOTE ] LOGIN [ user password ]
Logs in to a Kermit server or IKSD that
requires it.
[ REMOTE ] LOGOUT
Logs out from a Kermit server or IKSD.
SEND [ options ] filename [ as-name ]
Sends the given file to the server. Syn
onyms: S, PUT.
SEND [ options ] filespec
Sends all files that match.
RESEND [ options ] filespec
Resumes an interupted SEND from the point of
failure.
GET [ options ] remote-filespec
Asks the server to send the given files.
Synonym: G.
REGET [ options ] remote-filespec
Resumes an interrupted GET from the point of
failure.
REMOTE CD [ directory ]
Asks server to change its working directory.
Synonym: RCD.
REMOTE PWD [ directory ]
Asks server to display its working direc
tory. Synonym: RPWD.
REMOTE DIRECTORY [ filespec... ]
Asks server to send a directory listing.
Synonym: RDIR.
REMOTE DELETE [ filespec... ]
Asks server to delete files. Synonym: RDEL.
REMOTE [ command... ]
(Many other commands: "remote ?" for a
list).
MAIL [ options ] filespec
Sends file(s) to be delivered as e-mail
(Kermit only).
FINISH Asks the server to exit server state (Kermit
only).
BYE Asks the server to log out and close the
connection.
Script Programming
DEFINE, DECLARE, UNDEFINE, UNDECLARE, ASSIGN, EVAL
UATE, 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.
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.
Use question mark to feel your way through an unfamiliar
command, as in this example:

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>
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'.

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.

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, espe
cially 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.

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 direc
tory, 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 auto
matically each time you start it.

MODES OF OPERATION

Kermit is said to be in Local mode if it has made a con
nection to another computer, e.g. by dialing it or estab
lishing 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 net
work 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 out
put.

At any moment, a Kermit program can be in any of the fol
lowing states. It's important to know what they are and
how to change from one to the other.

Command state
In this state, Kermit reads commands from:
· Your keyboard; or:
· A file, or:
· A macro definition.
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 com
mands 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.
Shell state
You can invoke an inferior shell or external com
mand from the Kermit command prompt by using the
PUSH, RUN (!), EDIT, or BROWSE command. While the
inferior shell or command is active, Kermit is sus
pended and does nothing. Return to Kermit Command
state by exiting from the inferior shell or appli
cation.
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 termi
nal to the remote computer. Your keystrokes are
sent to the remote computer and characters that
arrive over the communication connection are dis
played 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:

Ctrl
That is: Hold down the Ctrl key and press the back
slash 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- Shell state with:

Ctrl
To send a Ctrl- to the host while in Connect
state, type two of them in a row. See HELP CONNECT
and HELP SET ESCAPE for more info.
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 singlekeystroke commands are accepted:
X Interrupt the current file and go on to the
next (if any).
Z Interrupt the current file and skip all the
rest.
E Like Z but uses a "stronger" protocol (use
if X or Z don't work).
Ctrl-C Interrupt file-transfer mode (use if Z or E
don't work).
Kermit returns to its previous state (Command or Connect)
when the transfer is complete or when interrupted success
fully by X, Z, E, or Ctrl-C (hold down the Ctrl key and
press the C key).
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 Filetransfer 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- C) and type "e-packet" and then press
the Return or Enter key; this forces a fatal Kermit
protocol error.
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.
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.
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 trans
fer 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.
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 spe
cific emulation, such as VT100, VT220, Linux Con
sole, 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.

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 communica
tions software.

Making a Telnet Connection
At the C-Kermit command prompt, simply type:

telnet foo.bar.com
(substituting desired hostname or address). You
can also include a port number:

telnet xyzcorp.com 3000 ;
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.
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:

rlogin foo.bar.com
More info: HELP RLOGIN.
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.

ssh foo.bar.com
More info: HELP SSH, HELP SET SSH.
Dialing with a Modem
If it's an external modem, make sure it is con
nected 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:

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
Type "set modem type ?" for a list of supported
modem types. If you omit the SET MODEM TYPE com
mand, the default type is "generic-high-speed",
which should work for most modern AT-command-set
modems. If the line is busy, Kermit redials auto
matically. 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 Con
nect state automatically and returns to its prompt
automatically when you log out from the remote com
puter or the connection is otherwise lost.
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:

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
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.
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 COMMU
NICATIONS, SHOW MODEM, SHOW DIAL.
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:

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
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 direc
tions. More info: As above plus HELP CONNECT.
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.
Of the connection types listed above, only one can be open
at a time. However, any one of these can be open concur
rently with an FTP or HTTP session. Each connection type
can be customized to any desired degree, scripted, logged,
you name it. See the manual.
NOTE: On selected platforms, C-Kermit also can make X.25
connections. See the manual for details.

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 both
ered 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 CKermit 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).

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.

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.

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.

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:

kermit -s oofa.txt
(where oofa.txt is the filename). If you want to
send more than one file, you can put as many file
names as you want on the command line, and they can
be any combination of text and binary:

kermit -s oofa.txt oofa.zip oofa.html oofa.tar.gz
and/or you can use wildcards to send groups of
files:

kermit -s oofa.*
If you want to send a file under an assumed name,
use:

kermit -s friday.txt -a today.txt
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 fin
ished, your desktop Kermit returns automatically to
Connect state. No worries about escaping back, reconnecting, text/binary mode switching. Almost too
easy, right?
Uploading Files
To upload files (send them from your desktop com
puter to the remote Unix computer) do the same
thing, but use the -g (GET) option instead of -s:

kermit -g oofa.txt
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.
If you want to upload multiple files, you have have
use shell quoting rules, since these aren't local
files:

kermit -g "oofa.txt oofa.zip oofa.html
oofa.tar.gz"
kermit -g "oofa.*"
If you want to upload a file but store it under a
different name, use:

kermit -g friday.txt -a today.txt
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.
To download a file, type:

kermit -s filename
on the host as before, but if nothing happens auto
matically in response to this command, you have to
switch your desktop communications software into
Kermit Receive state. This might be done by escap
ing 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 com
plete, you have to go back to Connect state, Termi
nal emulation, or whatever terminology applies to
your desktop communications software.
To upload a file, type:

kermit -r
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.
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 trou
bleshooting:
FAST Use fast file-transfer settings. This has
been the default since C-Kermit 7.0 now that
most modern computers and connections sup
port it. If transfers fail with fast set
tings, try . . .
CAUTIOUS
Use cautious but not paranoid settings. File
transfers, if they work, will go at medium
speed. If not, try . . .
ROBUST Use the most robust, resilient, conserva
tive, 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.
Obviously the success and performance of a file transfer
also depends on C-Kermit's file transfer partner. Up-todate, real Kermit Project partners are recommended because
they contain the best Kermit protocol implementations and
because we can support them in case of trouble.
If you still have trouble, consult Chapter 10 of Using CKermit, or send email to kermit-support@columbia.edu.
Advanced Kermit File-Transfer Features
Obviously there is a lot more to Kermit file trans
fer, including all sorts of interactive commands,
preferences, options, logging, debugging, trou
bleshooting, 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 inter
ested by Typing HELP for the listed commands:
Logging transfers:
LOG TRANSACTIONS (HELP LOG)
Automatic per-file text/binary mode switching:
SET TRANSFER MODE { AUTOMATIC, MANUAL }
(HELP SET TRANSFER).
Cross-platform recursive directory tree transfer:
SEND /RECURSIVE, GET /RECURSIVE (HELP SEND,
HELP GET).
File collision options:
SET FILE COLLISION { OVERWRITE, BACKUP, DIS
CARD, ... } (HELP SET FILE).
Update: Transfer only files that changed since last
time:
SET FILE COLLISION UPDATE (HELP SET FILE).
Filename selection patterns:
(HELP WILDCARD).
Flexible file selection:
SEND (or GET) /BEFORE /AFTER /LARGER
/SMALLER /TYPE /EXCEPT, ...
Character-set conversion:
SET { FILE, TRANSFER } CHARACTER-SET, ASSO
CIATE, ...
File/Pathname control:
SET { SEND, RECEIVE } PATHNAMES, SET FILE
NAMES.
Atomic file movement:
SEND (or GET) /DELETE /RENAME /MOVE-TO
Transferring to/from standard i/o of other com
mands:
SEND (or GET) /COMMAND
Recovery of interrupted transfer from point of
failure:
RESEND, REGET (HELP RESEND, HELP REGET).
Non-Kermit File Transfer
You can also use C-Kermit to transfer files with
FTP or HTTP Internet protocols; see below.
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.
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).

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:

· It has lots more commands and features.

· 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 famil
iar with it, it's best to follow this rule).
· Commands like "cd", "directory", etc, execute
locally, not on the server. Use "ftp cd", "ftp
dir", etc, to have them act on the server.
· You can have an FTP session and a regular Kermit
serial or Telnet session open at the same time.
· FTP sessions can be fully automated.
Pending publication of the next edition of the manual, the
Kermit FTP client is thoroughly documented at the Kermit
Project website:

http://www.columbia.edu/kermit/ftpclient.html
You also can use HELP FTP and HELP SET FTP to get descrip
tions of Kermit's FTP-related commands.
The HTTP client is similar to the FTP one, except you pre
fix 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 Ker
mit can manage up to three types connections simultane
ously.

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:
telnet foo.bar.edu 1649
telnet foo.bar.edu kermit ; if "kermit" is listed in
/etc/services
iksd foo.bar.edu
The IKSD command is equivalent to a TELNET command speci
fying port 1649. For more information about making and
using connections to an IKSD, see:

http://www.columbia.edu/kermit/cuiksd.html
You can run an Internet Kermit Service on your own com
puter too (if you are the system administrator). For
instructions, see:

http://www.columbia.edu/kermit/iksd.html

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:

· MIT Kerberos IV
· MIT Kerberos V
· SSL/TLS
· Stanford SRP

For complete instructions see:
http://www.columbia.edu/kermit/security.html
And as noted previously, you can also make SSH connections
with C-Kermit if you already have an SSH client installed.

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 com
mand-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:
ln -s /usr/local/bin/kermit telnet
Now when you give a "telnet" command, you are invoking
Kermit instead, but with its Telnet command-line personal
ity so, for example:

telnet xyzcorp.com
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 reg
ular Telnet client.
Similarly for FTP:

ln -s /usr/local/bin/kermit ftp
And now type "ftp -h" to see its command-line options, and
command lines just like you would give your regular FTP
client:

ftp xyzcorp.com
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:
kermit telnet:xyzcorp.com
Opens a Telnet session
kermit telnet://olga@xyzcorp.com
Ditto for user olga
kermit ftp://olga@xyzcorp.com/public/oofa.zip
Downloads a file
kermit kermit://kermit.columbia.edu/kermit/f/READ.ME
Ditto for IKSD
kermit iksd://kermit.columbia.edu/kermit/f/READ.ME
(This works too)
kermit http://www.columbia.edu/kermit/index.html
Grabs a web page

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 prod
uct 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 dis
tributed with C-Kermit 7.0 or later, or download it from
ftp://kermit.columbia.edu/kermit/c-kermit/COPYING.TXT
Send licensing inquiries to kermit@columbia.edu.

BUGS

See the following files for listings of known bugs, limi
tations, workarounds, hints and tips:

ckcbwr.txt
General C-Kermit bugs, hints, tips.
ckubwr.txt
Unix-specific C-Kermit bugs, hints, tips.
Report bugs and problems by email to:

kermit-support@columbia.edu.
Before requesting technical support, please read the hints
here:

http://www.columbia.edu/kermit/support.html
and also read the C-Kermit Frequently Asked Questions:

http://www.columbia.edu/kermit/ckfaq.html

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 docu
mentation (or updated documentation itself) visit the Ker
mit Project website:
http://www.columbia.edu/kermit/
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.

DOCUMENTATION AND UPDATES

The manual for C-Kermit is:

Using C-Kermit
Frank da Cruz and Christine M. Gianone, Second Edi
tion, 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.
The C-Kermit 7.0 Supplement
http://www.columbia.edu/kermit/ckermit2.html
The C-Kermit 8.0 Supplement
http://www.columbia.edu/kermit/ckermit3.html
Visit C-Kermit home page:

http://www.columbia.edu/kermit/ckermit.html
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:
http://www.columbia.edu/kermit/scriptlib.html
The Kermit script library and tutorial
http://www.columbia.edu/kermit/newfaq.html
The Kermit FAQ (Frequently Asked Questions about
Kermit)
http://www.columbia.edu/kermit/ckfaq.html
The C-Kermit FAQ (Frequently Asked Questions about
C-Kermit)
http://www.columbia.edu/kermit/telnet.html
C-Kermit Telnet client documentation
http://www.columbia.edu/kermit/security.html
C-Kermit security documentation (Kerberos, SSL/TLS,
etc)
http://www.columbia.edu/kermit/cuiksd.html
Internet Kermit Service user documentation
http://www.columbia.edu/kermit/iksd.html
Internet Kermit Service administrator documentation
http://www.columbia.edu/kermit/studies.html
Case studies.
http://www.columbia.edu/kermit/support.html
Technical support.
http://www.columbia.edu/kermit/k95tutorial.html
Kermit 95 tutorial.
comp.protocols.kermit.misc
The Kermit newsgroup (unmoderated).

FILES

COPYING.TXT
C-Kermit license.
~/.kermrc
Initialization file.
~/.mykermrc
Customization file.
~/.kdd Kermit dialing directory (see manual).
~/.knd Kermit network directory (see manual).
~/.ksd Kermit services directory (see manual).
ca_certs.pem
Certificate Authority certifcates used for SSL con
nections.
ckuins.txt
Installation instructions for Unix. Also at
http://www.columbia.edu/kermit/ckuins.html.
ckcbwr.txt
General C-Kermit bugs, hints, tips.
ckubwr.txt
Unix-specific C-Kermit bugs, hints, tips.
ckcplm.txt
C-Kermit program logic manual.
ckccfg.txt
C-Kermit compile-time configuration options.
ssh (in your PATH) SSH connection helper.
rz, sz, etc.
(in your PATH) external protocols for XYZmodem.
/var/spool/locks (or whatever)
UUCP lockfile for dialing out (see installation
instructions).

AUTHORS

Software
Frank da Cruz and Jeffrey E Altman,
1985-present, with contributions from hundreds of
others all over the world.
Documentation
Frank da Cruz and Christine M Gianone
Address
The Kermit Project - Columbia Univerity
612 West 115th Street
New York NY 10025-7799
USA
E-Mail kermit@columbia.edu
Web http://www.columbia.edu/kermit/
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout