cu - Call up another system
cu [ options ] [ system | phone | "dir" ]
The cu command is used to call up another system and act as
a dial in terminal. It can also do simple file transfers with no error
checking.
cu takes a single argument, besides the options. If the
argument is the string "dir" cu will make a direct connection to
the port. This may only be used by users with write access to the port, as
it permits reprogramming the modem.
Otherwise, if the argument begins with a digit, it is taken to be
a phone number to call. Otherwise, it is taken to be the name of a system to
call. The -z or --system option may be used to name a system
beginning with a digit, and the -c or --phone option may be
used to name a phone number that does not begin with a digit.
cu locates a port to use in the UUCP configuration files.
If a simple system name is given, it will select a port appropriate for that
system. The -p, --port, -l, --line, -s and --speed options may
be used to control the port selection.
When a connection is made to the remote system, cu forks
into two processes. One reads from the port and writes to the terminal,
while the other reads from the terminal and writes to the port.
cu provides several commands that may be used during the
conversation. The commands all begin with an escape character, initially
~ (tilde). The escape character is only recognized at the beginning
of a line. To send an escape character to the remote system at the start of
a line, it must be entered twice. All commands are either a single character
or a word beginning with % (percent sign).
cu recognizes the following commands:
- ~.
- Terminate the conversation.
- ~! command
- Run command in a shell. If command is empty, starts up a shell.
- ~$ command
- Run command, sending the standard output to the remote system.
- ~| command
- Run command, taking the standard input from the remote system.
- ~+ command
- Run command, taking the standard input from the remote system and sending
the standard output to the remote system.
- ~#, ~%break
- Send a break signal, if possible.
- ~c directory, ~%cd directory
- Change the local directory.
- ~> file
- Send a file to the remote system. This just dumps the file over the
communication line. It is assumed that the remote system is expecting
it.
- ~<
- Receive a file from the remote system. This prompts for the local file
name and for the remote command to execute to begin the file transfer. It
continues accepting data until the contents of the eofread variable
are seen.
- ~p from to, ~%put from to
- Send a file to a remote Unix system. This runs the appropriate commands on
the remote system.
- ~t from to, ~%take from to
- Retrieve a file from a remote Unix system. This runs the appropriate
commands on the remote system.
- ~s variable value
- Set a cu variable to the given value. If value is not given, the
variable is set to true.
- ~! variable
- Set a cu variable to false.
- ~z
- Suspend the cu session. This is only supported on some systems. On systems
for which ^Z may be used to suspend a job, ~^Z will also suspend
the session.
- ~%nostop
- Turn off XON/XOFF handling.
- ~%stop
- Turn on XON/XOFF handling.
- ~v
- List all the variables and their values.
- ~?
- List all commands.
cu also supports several variables. They may be listed
with the ~v command, and set with the ~s or ~!
commands.
- escape
- The escape character. Initially ~ (tilde).
- delay
- If this variable is true, cu will delay for a second after
recognizing the escape character before printing the name of the local
system. The default is true.
- eol
- The list of characters which are considered to finish a line. The escape
character is only recognized after one of these is seen. The default is
carriage return, ^U, ^C, ^O, ^D, ^S, ^Q, ^R.
- binary
- Whether to transfer binary data when sending a file. If this is false,
then newlines in the file being sent are converted to carriage returns.
The default is false.
- binary-prefix
- A string used before sending a binary character in a file transfer, if the
binary variable is true. The default is ^V.
- echo-check
- Whether to check file transfers by examining what the remote system echoes
back. This probably doesn't work very well. The default is false.
- echonl
- The character to look for after sending each line in a file. The default
is carriage return.
- timeout
- The timeout to use, in seconds, when looking for a character, either when
doing echo checking or when looking for the echonl character. The
default is 30.
- kill
- The character to use delete a line if the echo check fails. The default is
^U.
- resend
- The number of times to resend a line if the echo check continues to fail.
The default is 10.
- eofwrite
- The string to write after sending a file with the ~> command.
The default is ^D.
- eofread
- The string to look for when receiving a file with the ~<
command. The default is $, which is intended to be a typical shell
prompt.
- verbose
- Whether to print accumulated information during a file transfer. The
default is true.
The following options may be given to cu.
- -e, --parity=even
- Use even parity.
- -o, --parity=odd
- Use odd parity.
- --parity=none
- Use no parity. No parity is also used if both -e and -o are
given.
- -h, --halfduplex
- Echo characters locally (half-duplex mode).
- --nostop
- Turn off XON/XOFF handling (it is on by default).
- -E char, --escape
char
- Set the escape character. Initially ~ (tilde). To eliminate the
escape character, use -E ''.
- -z system, --system
system
- The system to call.
- -c phone-number, --phone
phone-number
- The phone number to call.
- -p port, --port port
- Name the port to use.
- -a port
- Equivalent to --port port.
- -l line, --line line
- Name the line to use by giving a device name. This may be used to dial out
on ports that are not listed in the UUCP configuration files. Write access
to the device is required.
- -s speed, --speed
speed
- The speed (baud rate) to use.
- -#
- Where # is a number, equivalent to --speed #.
- -n, --prompt
- Prompt for the phone number to use.
- -d
- Enter debugging mode. Equivalent to --debug all.
- -x type, --debug
type
- Turn on particular debugging types. The following types are recognized:
abnormal, chat, handshake, uucp-proto, proto, port, config, spooldir,
execute, incoming, outgoing. Only abnormal, chat, handshake, port, config,
incoming and outgoing are meaningful for cu.
Multiple types may be given, separated by commas, and the
--debug option may appear multiple times. A number may also be
given, which will turn on that many types from the foregoing list; for
example, --debug 2 is equivalent to --debug abnormal,chat.
--debug all may be used to turn on all debugging options.
- -I file, --config
file
- Set configuration file to use. This option may not be available, depending
upon how cu was compiled.
- -v, --version
- Report version information and exit.
- --help
- Print a help message and exit.
This program does not work very well.
Ian Lance Taylor <ian@airs.com>