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 follow‐
ing 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 special mean‐
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 terminal.
~! 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
~%take from [to] copy file `from' (on the remote system) to file `to'
on the local system. 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 current erase and kill characters on the remote sys‐
tem 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.