CU(1C)

NAME
cu - call UNIX

SYNOPSIS
cu telno [ -t ] [ -s speed ] [ -a acu ] [ -l line ]

DESCRIPTION
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 special meanings.

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

~:  during an output diversion, this toggles whether the operation of cu will be silent, i.e., whether information recieved from the foreign system will be written to the standard output. This allows a ``progress report'' during long transfers.

~~...
    send the line `~...'.

Both the send and receive processes handles output diversions of the following form:

~>[>][:]file
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 diversion.

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

FILES
/dev/cua0
/dev/cul0
/dev/null

SEE ALSO
dn(4), tty(4)

DIAGNOSTICS
Exit code is zero for normal exit, nonzero (various values) otherwise.

BUGS
The syntax is unique.