COHERENT manpages

This page displays the COHERENT manpage for cu [UNIX-compatible communications utility].

List of available manpages
Index


cu -- Command

UNIX-compatible communications utility
cu [options] [system] [phone] [dir]

The  command cu  implements a  version of  the communications  utility used
under UNIX System V.  (Its name  is an acronym for ``call UNIX''.) With it,
you  can  interactively telephone  other  systems,  upload files,  download
files, and perform other communications tasks.  Unlike the program ckermit,
which is  also included  with COHERENT, cu  uses the information  stored in
UUCP  data-base files  dial, port,  and sys  to automate  the dialing  of a
remote system.

To tell  cu to dial a  given system, just use that system's  name on the cu
command line.  cu then reads from files dial, port, and sys the information
on how  to dial the  system you have  named; then uses  that information to
open the port, set up the modem, and dial the system, up to the point where
you see a  login prompt on the remote system.   For example, to dial system
mwcbbs, use the command:

    cu mwcbbs

Instead of  dialing a  remote system,  you may wish  to talk directly  to a
modem -- for example, to reset its registers; or you may wish to log into a
local system that  is directly connected to your system  via a serial port.
To talk directly to a device, use the option -p followed by the name of the
port into which  the device is plugged, plus the  command dir. This command
tells cu that  you wish to talk to the  port directly.  (Ports are named in
the file port; for details, see  its entry in the Lexicon.) For example, to
talk directly a modem that is on a port named MWCBBS, use the command:

    cu -p MWCBBS dir

To have cu dial a specific telephone number over a specific port, again use
the option -p option to name  the port, followed by the telephone number to
call.  For example, the command

    cu -p MWCBBS 17085590412

connects to the  modem on port MWCBBS and dial  the telephone number 1-708-
559-0412.

cu assumes that  a string that begins with an  alphabetic character names a
system.  To call a system whose  name begins with numeral, use the command-
line option -z, described below.

cu Commands

You can  give commands  to cu  while you converse  with the  remote system.
Each command begins with an escape character, which by default is the tilde
`~'.   cu recognizes  the  escape character  only  when it  appears at  the
beginning of a line.  After you  type the escape character, cu replies with
the name of your system, to  show that it is ready to receive your command.
If you  do not see  cu's reply within  a second or two,  something has gone
wrong.

To send  to the  remote system  an escape character  at the beginning  of a
line, enter it twice; for example, typing

    ~~

sends a single `~' to the  remote system.  All commands are either a single
character or a word that begins with `%'.

cu recognizes the following commands:

~.   Terminate the conversation.

~! command
     Run command in a shell on  your local system.  If no command is given,
     start up a shell.

~$ command
     Run command  on your local  system, and redirect to  the remote system
     what command writes to the standard output.

~| command
     Run  command on  your local  system,  and pipe  into command  what the
     remote system sends to your system.

~+ command
     Combine the  commands ~$ and ~|.   You can use this  command to invoke
     alternative file-transfer utilities, e.g., rz and sz.

~#
~%break
     Send a break signal.

~c directory
~%cd directory
     cd to directory on your local system.

~> file
     Send file to the remote system.  This command just dumps the file over
     the communication  line, and performs  no error checking.   It assumes
     that the remote system is expecting  it.  You should first open a file
     on the remote system such as through the command

         cat > filename

     before you invoke this feature of cu.

~<
     Receive a  file from the  remote system.  cu  prompts you to  name the
     file into which it will write what it receives from the remote system,
     then prompts  you for the command  to execute on the  remote system to
     begin the  file transfer  (often, just  cat filename).  cu  reads data
     from the remote system and writes them into into the file you named on
     your system until it detects the variable eofread.

~p herefile farfile
~%put herefile farfile
     Copy (or put) file  herefile on your  system into file  farfile on the
     remote system.

~t farfile herefile
~%take farfile herefile
     Take  file farfile  from the  remote  system, and  write it  into file
     herefile on  your system.  This  runs the appropriate  commands on the
     remote system.

~s variable [value]
     Set the cu  variable to value. If no value  is not given, set variable
     to true. cu's variables are described below.

~! variable
     Set the cu variable to false. cu's variables are described below.

~%nostop
     Turn off XON/XOFF flow control.

~%stop
     Turn on XON/XOFF flow control.

~v   List all cu variables  and their values.  cu's variables are described
     below.

~?   Help: list all cu commands.

cu Variables

The following variables are build into cu to control its default behaviors:

binary  This  variable  indicates   whether  to  pass   binary  information
        untouched when it transfers a file.   If this variable is false, cu
        converts newline characters  to carriage returns.  If  set to true,
        then cu  passes  binary  data through  untouched.   The default  is
        false.

binary-prefix
        This variable gives the string that  prefaces a binary character in
        a file transfer.  This variable applies only if the variable binary
        variable is true.  The default is <ctrl-Z>.

delay   If this  variable  is  true,  cu delays  for  one  second after  it
        recognizes the escape character.  The default is true.

echo-check
        If true,  cu checks  file transfers  by  examining what  the remote
        system echoes.   This  is  not  a  robust  method of  checking  the
        integrity of a transferred file, but it is the best that cu offers.
        The default is false.

echonl  The character that cu looks for after it sends each line in a file.
        The default is the carriage return.

eofread
        This sets the  string that  cu looks for  after it receives  a file
        retrieved with  the  command  ~<. The  default  is  $, which  is
        intended to be a typical shell prompt.

eofwrite
        The string that  cu writes after  it sends a file  with the command
        ~>. The default is <ctrl-D>.

eol     This variable gives the characters that cu recognizes as completing
        a line of input.   cu recognizes the escape  character only when it
        occurs immediately after one of the  eol characters.  cu recognizes
        the following eol characters  by default: <ctrl-C>, <ctrl-
        D>, <ctrl-O>,  <ctrl-Q>,  <ctrl-R>,  <ctrl-
        S>, and <ctrl-U>.

escape  The escape character.  By default, this is the tilde `~'.

kill    This tells cu  the character to use  to delete a line  if the echo-
        check fails.  The default is <ctrl-U>.

resend  The number of times to resend a line if the echo-check continues to
        fail.  The default is ten.

timeout
        This variable  sets  the time,  in  seconds, that  cu  waits for  a
        character either when  it does echo-checking  or when it  looks for
        the echonl character.  The default is 30.

verbose
        Print accumulated information during a  file transfer.  The default
        is true.

To  list the  values of  the variables,  use the command  ~v.  To  modify a
variable, use  the commands ~s  or ~!.  For  example, to turn  off the one-
second pause after sending an escape character, use the command:

    ~! delay

To change the escape character from `~' to `\', use the command:

    ~s escape \

Options

cu recognizes the following command-line options:

-a port
        The same as the option -p, described below.

-c number
        Dial number.  You  must use  this  option if  the telephone  number
        begins with a letter.

-d      Enter debugging mode.  This is equivalent to -x all.

-e      Use even parity.

-N      Equivalent to the command -s N, where N is an integer.

-h      Half-duplex mode: echo  locally all  characters sent to  the remote
        system.

-I file
        Use file instead of the configuration file.

-l device
        The device on  which to dial out.   Use this option to  dial out on
        ports that  are not  list in  the  file port.  You must  have write
        permission on device.

-n      Prompt for the telephone number to use.

-o      Use odd parity.  If you use both -e  and -o on the command line, no
        parity is  used.   If neither  is  specified, cu  uses the  default
        parity of the line.

-p port
        The port  to use.   If you  do  not use  this option,  cu  uses the
        default port  for  the  system  being  contacted,  as set  in  file
        /usr/lib/uucp/sys.

-s speed
        Set the baud rate to speed.

-t      Map every carriage return character  to the pair carriage/linefeed.
        Use this option when transferring files to an MS-DOS system.

-z system
        Call system. You  must use  this option if  the name of  the remote
        system begins with a numeral.

-x activity
        Log a given activity.  These logs can help  you debug problems with
        cu.  cu recognizes the following activities:

             abnormal
             chat
             handshake
             port
             config
             incoming
             outgoing

        One -x  option can  name multiple  activities, with  the activities
        separated by  commas.  A  cu command line  can contain  multiple -x
        options.

        You can also  use this  option with a  number, which turns  on that
        many activities from the foregoing list,  in the order in which the
        appear in this list.  For example, the option -x 2 is equivalent to
        the  option  -x  abnormal,chat  The  option  -x  all  logs  on  all
        activities.

See Also

ckermit,
commands,
dial,
port,
sys,
UUCP

Notes

Unlike ckermit, the file-transfer  facility in cu is primitive and performs
no error  checking.  If  you wish primarily  to transfer files,  you should
consider using ckermit instead of cu.  As noted above, the command ~+ plugs
the standard  input and  standard output of  two commands into  each other;
with this feature, you can  use the other file-transfer utilities (e.g., rz
and sz) to transfer files under cu.

cu requires that the device  /dev/console appear last in file /etc/ttys. If
this is  not so, cu refuses  to disable the enabled port  or dial out.  For
details on this file, see the Lexicon entry for ttys.

cu was  ported to  COHERENT from  the Taylor UUCP  package, written  by Ian
Taylor (ian@airs.com).