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 fol-
lowing 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 sys-
tem; the receive process reads from the remote system and passes most data to the standard output. Lines beginning with `~' have special
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 remote system.
~%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
~%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
~~... 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 diver-
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.