Uckermit
uckermit: μC‑Kermit (μCKermit, micro‑C‑Kermit, microkermit) is a minimalistic Kermit implementation for small, embedded, or resource constrained systems (CP/M, PDP‑11, etc.)
Install / Use
/learn @BAN-AI-Communications/UckermitREADME
μC֊Kermit
micro–C֊Kermit (microkermit)
NAME
- uckermit - minimalistic kermit file transfer
SYNOPSIS
- uckermit [
option ...] [file ...]
DESCRIPTION
μCKermit is a file transfer program that allows files to be moved between machines of many different operating systems and architectures.
Arguments are optional. If μCKermit is executed without arguments, it will enter command mode. Otherwise, μCKermit will read the arguments off the command line and interpret them.
The following notation is used in command descriptions:
- fn
- A UNIX file specification, possibly containing the "wildcard" characters
'
~', '*', or '?'.- '
~' matches a user's home directory name, - '
*' matches all character strings, - '
?' matches any single character.
- '
- A UNIX file specification, possibly containing the "wildcard" characters
'
- fn1
- A UNIX file specification which may not contain '
*' or '?'.
- A UNIX file specification which may not contain '
- rfn
- A remote file specification in the remote system's own syntax, which may denote a single file or a group of files.
- rfn1
- A remote file specification which should denote only a single file.
- n
- A decimal number, in most cases between 0 and 94.
- c
- A decimal number between 0 and 127 representing the value of an ASCII character.
- cc
- A decimal number between 0 and 31, or else exactly 127, representing the value of an ASCII control character.
- [
...]- Any field in square braces is optional.
- { x, y, z }
- Alternatives are listed in curly braces.
μCKermit command line options may specify either actions or settings. If μCKermit is invoked with a command line that specifies no actions, then it will issue a prompt and begin interactive dialog. Action options specify either protocol transactions or terminal connection.
COMMAND LINE OPTIONS
-
-s fn- Send the specified file or files. If fn contains wildcard (shell meta)
characters, the UNIX shell expands it into a list. If fn is '
-' then μCKermit sends from standard input, which may come from a file:uckermit -s - < foo.baror a parallel process:ls -l | uckermit -s -. You cannot use this mechanism to send terminal type-in. If you want to send file whose name is "-" you can precede it with a path name, as in:uckermit -s ./-.
- Send the specified file or files. If fn contains wildcard (shell meta)
characters, the UNIX shell expands it into a list. If fn is '
-
-r- Receive a file or files. Wait passively for files to arrive.
-
-k- Receive (passively) a file or files, sending them to standard output. This
option can be used in several ways:
uckermit -kdisplays the incoming files on your screen; to be used only in "local mode" (see below).uckermit -k > fn1sends the incoming file or files to the named file, fn1. If more than one file arrives, all are concatenated together into the single file fn1.uckermit -k | commandpipes the incoming data (single or multiple files) to the indicated command, as in:uckermit -k | sort > sorted.stuff
- Receive (passively) a file or files, sending them to standard output. This
option can be used in several ways:
-
-a fn1- If you have specified a file transfer option, you may specify an alternate
name for a single file with the
-aoption. For example,uckermit -s foo -a barsends the file foo telling the receiver that its name is bar. If more than one file arrives or is sent, only the first file is affected by the-aoption:uckermit -ra bazstores the first incoming file under the name baz.
- If you have specified a file transfer option, you may specify an alternate
name for a single file with the
-
-x- Begin server operation. May be used in either local or remote mode. Before proceeding, a few words about remote and local operation are necessary. μCKermit is "local" if it is running on a PC or workstation that you are using directly, or if it is running on a multiuser system and transferring files over an external communication line — not your job's controlling terminal or console. μCKermit is remote if it is running on a multiuser system and transferring files over its own controlling terminal's communication line, connected to your PC or workstation. On most systems, μCKermit runs in remote mode by default, so on a PC or workstation, you will have to put it into local mode. The following command sets μCKermit's "mode":
-
-l dev- Line — Specify a terminal line to use for file transfer and terminal
connection, as in:
uckermit -l /dev/ttyS5. When an external line is being used, you might also need some additional options for successful communication with the remote system:
- Line — Specify a terminal line to use for file transfer and terminal
connection, as in:
-
-b n- Baud — Specify the baud rate for the line given in the
-loption, as in:uckermit -l /dev/ttyS5 -b 9600. This option should always be included with the-loption, since the speed of an external line is not necessarily what you might expect.
- Baud — Specify the baud rate for the line given in the
-
-p x- Parity —
e,o,m,s,n(even, odd, mark, space, or none). If parity is other than none, then the 8th-bit prefixing mechanism will be used for transferring 8-bit binary data, provided the opposite Kermit agrees. The default parity is none.
- Parity —
-
-t- Specifies half duplex, line turnaround with XON as the handshake
character. The following commands may be used only with a μCKermit which
is local — either by default or else because the
-loption has been specified.
- Specifies half duplex, line turnaround with XON as the handshake
character. The following commands may be used only with a μCKermit which
is local — either by default or else because the
-
-g rfn- Actively request a remote server to send the named file or files; rfn is a
file specification in the remote host's own syntax. If fn happens to
contain any special shell characters, like '
*', these must be quoted, as in:uckermit -g x\*.\?
- Actively request a remote server to send the named file or files; rfn is a
file specification in the remote host's own syntax. If fn happens to
contain any special shell characters, like '
-
-f- Send a '
finish' command to a remote server.
- Send a '
-
-c- Establish a terminal connection over the specified or default communication
line, before any protocol transaction takes place. Get back to the local
system by typing the escape character (normally
Control-\) followed by the letter 'c'.
- Establish a terminal connection over the specified or default communication
line, before any protocol transaction takes place. Get back to the local
system by typing the escape character (normally
-
-n- Like
-c, but after a protocol transaction takes place;-cand-nmay both be used in the same command. The use of-nand-cis illustrated below.
- Like
-
On a timesharing system, the
-land-boptions will also have to be included with the-r,-k, or-soptions if the other μCKermit is on a remote system. -
If uckermit is in local mode, the screen (stdout) is continously updated to show the progress of the file transer. A dot is printed for every four data packets, other packets are shown by type (e.g. '
S' for Send-Init), 'T' is printed when there's a timeout, and '%' for each retransmission. In addition, you may type (to stdin) certain "interrupt" commands during file transfer:Control-F: Interrupt the current File, and go on to the next (if any).Control-B: Interrupt the entire Batch of files, terminate the transaction.Control-R: Resend the current packetControl-A: Display a status report for the current transaction.
-
These interrupt characters differ from the ones used in other Kermit implementations to avoid conflict with UNIX shell interrupt characters. With System III and System V implementations of UNIX, interrupt commands must be preceeded by the escape character (e.g.
Control-\). -
Several other command-line options are provided:
-i- Specifies that files should be sent or received with text conversion.
-e n- Specifies the (extended) receive-packet length, a number between 10 and about 1200 (depending on the system). Lengths of 95 or greater require that the opposite Kermit support the long packet protocol extension.
-w- Overwrite — Allow overwriting of local files with incoming files.
-q- Quiet — Suppress screen update during file transfer, for instance to allow a file transfer to proceed in the background.
-d- Debug — Record debugging information in the file
debug.login the current directory. Use this option if you believe the program is misbehaving, and show the resulting log to your local μCKermit maintainer.
- Debug — Record debugging information in the file
-h- Help — Display a brief synopsis of the command line options. The command line may contain no more than one protocol action option.
INTERACTIVE OPERATION
- μCKermit's interactive command prompt is "
uCKermit>". In response to this prompt, you may type any valid command. - μCKermit executes the command and then prompts you for another command. The process continues until you instruct the program to terminate.
- Commands begin with a keyword, normally an English verb, such as "
send". You may omit trailing characters from any keyword, so long as you specify suffi
