cu - call UNIX
cu telno [ -t ] [ -s speed ] [ -a acu ] [ -l line ]
Cu calls up another UNIX system, a terminal, or possibly a non-UNIX system. It manages an
interactive conversation with possible transfers of text files. Telno is the telephone
number, with minus signs at appropriate places for delays. The -t flag is used to dial
out to a terminal. Speed gives the transmission speed (110, 134, 150, 300, 1200); 300 is
the default value.
The -a and -l values may be used to specify pathnames for the ACU and communications line
devices. They can be used to override the following built-in choices:
-a /dev/cua0 -l /dev/cul0
After making the connection, cu runs as two processes: the send process reads the standard
input and passes most of it to the remote system; the receive process reads from the
remote system and passes most data to the standard output. Lines beginning with `~' have
The send process interprets the following:
~. terminate the conversation.
~EOT terminate the conversation
~<file send the contents of file to the remote system, as though typed at the
~! invoke an interactive shell on the local system.
~!cmd ... run the command on the local system (via sh -c).
~$cmd ... run the command locally and send its output to the remote system.
~%take from [to] copy file `from' (on the remote system) to file `to' on the local sys-
tem. If `to' is omitted, the `from' name is used both places.
~%put from [to] copy file `from' (on local system) to file `to' on remote system. If
`to' is omitted, the `from' name is used both places.
~~... send the line `~...'.
The receive process handles output diversions of the following form:
zero or more lines to be written to file
In any case, output is diverted (or appended, if `>>' used) to the file. If `:' is used,
the diversion is silent, i.e., it is written only to the file. If `:' is omitted, output
is written both to the file and to the standard output. The trailing `~>' terminates the
The use of ~%put requires stty and cat on the remote side. It also requires that the cur-
rent erase and kill characters on the remote system be identical to the current ones on
the local system. Backslashes are inserted at appropriate places.
The use of ~%take requires the existence of echo and tee on the remote system. Also, stty
tabs mode is required on the remote system if tabs are to be copied without expansion.
Exit code is zero for normal exit, nonzero (various values) otherwise.
The syntax is unique.