Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cu(1C) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat(1)

ct(1C)

echo(1)

stty(1)

uucp(1C)

uname(1)



          CU(1C)               INTERACTIVE UNIX System               CU(1C)



          NAME
               cu - call another UNIX system

          SYNOPSIS
               cu [-sspeed] [-lline] [-h] [-t] [-d] [-o | -e] [-n] telno
               cu [ -s speed ] [ -h ] [ -d ] [ -o | -e ] -l line
               cu [-h] [-d] [-o | -e] systemname

          DESCRIPTION
               The cu command calls up another UNIX system, a terminal, or
               possibly a non-UNIX system.  It manages an interactive
               conversation with possible transfers of ASCII files.

               The cu command accepts the following options and arguments:

               -sspeed     Specifies the transmission speed (300, 1200,
                           2400, 4800, 9600); The default value is "Any"
                           speed which will depend on the order of the
                           lines in the /usr/lib/uucp/Devices file.  Most
                           modems are either 300 or 1200 baud. Directly
                           connected lines may be set to a speed higher
                           than 1200 baud.

               -lline      Specifies a device name to use as the communica-
                           tion line. This can be used to override the
                           search that would otherwise take place for the
                           first available line having the right speed.
                           When the -l option is used without the -s
                           option, the speed of a line is taken from the
                           Devices file. When the -l and -s options are
                           both used together, cu will search the Devices
                           file to check if the requested speed for the
                           requested line is available. If so, the connec-
                           tion will be made at the requested speed; other-
                           wise an error message will be printed and the
                           call will not be made. The specified device is
                           generally a directly connected asynchronous line
                           (e.g., /dev/ttyab) in which case a telephone
                           number (telno) is not required.  The specified
                           device need not be in the /dev directory.  If
                           the specified device is associated with an auto
                           dialer, a telephone number must be provided. Use
                           of this option with systemname rather than telno
                           will not give the desired result (see systemname
                           below).

               -h          Emulates local echo, supporting calls to other
                           computer systems which expect terminals to be
                           set to half-duplex mode.

               -t          Used to dial an ASCII terminal which has been
                           set to auto answer.  Appropriate mapping of
                           carriage-return to carriage-return-line-feed


          Rev. Base System                                           Page 1





          CU(1C)               INTERACTIVE UNIX System               CU(1C)



                           pairs is set.

               -d          Causes diagnostic traces to be printed.

               -o          Designates that odd parity is to be generated
                           for data sent to the remote system.

               -e          Designates that even parity is to be generated
                           for data sent to the remote system.

               -n          For added security, will prompt the user to pro-
                           vide the telephone number to be dialed rather
                           than taking it from the command line.

               telno       When using an automatic dialer, the argument is
                           the telephone number with equal signs for secon-
                           dary dial tone or minus signs placed appropri-
                           ately for delays of 4 seconds.

               systemname  A uucp system name may be used rather than a
                           telephone number; in this case, cu will obtain
                           an appropriate direct line or telephone number
                           from /usr/lib/uucp/Systems.  Note: the system-
                           name option should not be used in conjunction
                           with the -l and -s options as cu will connect to
                           the first available line for the system name
                           specified, ignoring the requested line and
                           speed.

               After making the connection, cu runs as two processes:  the
               transmit process reads data from the standard input and,
               except for lines beginning with ~, passes it to the remote
               system; the receive process accepts data from the remote
               system and, except for lines beginning with ~, passes it to
               the standard output.  Normally, an automatic DC3/DC1 proto-
               col is used to control input from the remote system so the
               buffer is not overrun.  Lines beginning with ~ have special
               meanings.

               The transmit process interprets the following user-initiated
               commands:

               ~.                  terminate the conversation.

               ~!                  escape to an interactive shell on the
                                   local system.

               ~!cmd...            run cmd on the local system (via sh -c).

               ~$cmd...            run cmd locally and send its output to
                                   the remote system.

               ~%cd                change the directory on the local


          Rev. Base System                                           Page 2





          CU(1C)               INTERACTIVE UNIX System               CU(1C)



                                   system.  Note:  ~!cd will cause the com-
                                   mand to be run by a sub-shell, probably
                                   not what was intended.

               ~%take from [ to ]  copy file from (on the remote system) to
                                   file to on the local system.  If to is
                                   omitted, the from argument is used in
                                   both places.

               ~%put from [ to ]   copy file from (on local system) to file
                                   to on remote system.  If to is omitted,
                                   the from argument is used in both
                                   places.

                                   For both ~%take and put commands, as
                                   each block of the file is transferred,
                                   consecutive single digits are printed to
                                   the terminal.

               ~~ line             send the line ~ line to the remote sys-
                                   tem.

               ~%break             transmit a BREAK to the remote system
                                   (which can also be specified as ~%b).

               ~%debug             toggles the -d debugging option on or
                                   off (which can also be specified as
                                   ~%d).

               ~t                  prints the values of the termio struc-
                                   ture variables for the user's terminal
                                   (useful for debugging).

               ~l                  prints the values of the termio struc-
                                   ture variables for the remote communica-
                                   tion line (useful for debugging).

               ~%nostop            toggles between DC3/DC1 input control
                                   protocol and no input control.  This is
                                   useful in case the remote system is one
                                   which does not respond properly to the
                                   DC3 and DC1 characters.

               The receive process normally copies data from the remote
               system to its standard output.  Internally the program
               accomplishes this by initiating an output diversion to a
               file when a line from the remote begins with ~.

               Data from the remote is diverted (or appended, if >> is
               used) to file on the local system.  The trailing ~> marks
               the end of the diversion.

               The use of ~%put requires stty(1) and cat(1) on the remote


          Rev. Base System                                           Page 3





          CU(1C)               INTERACTIVE UNIX System               CU(1C)



               side.  It also requires that the current erase and kill
               characters on the remote system be identical to the current
               control characters on the local system.  Backslashes are
               inserted at appropriate places.

               The use of ~%take requires the existence of echo(1) and
               cat(1) on the remote system.  Also, tabs mode [see stty(1)]
               should be set on the remote system if tabs are to be copied
               without expansion to spaces.

               When cu is used on system X to connect to system Y and sub-
               sequently used on system Y to connect to system Z, commands
               on system Y can be executed by using ~~. Executing a tilde
               command reminds the user of the local system uname.  For
               example, uname can be executed on Z, X, and Y as follows:

                    uname
                    Z
                    ~[X]!uname
                    X
                    ~~[Y]!uname
                    Y

               In general, ~ causes the command to be executed on the ori-
               ginal machine, ~~ causes the command to be executed on the
               next machine in the chain.

          EXAMPLES
               To dial a system whose telephone number is 9 201 555 1212
               using 1200 baud (where dialtone is expected after the 9):
                    cu  -s1200   9=12015551212

               If the speed is not specified, "Any" is the default value.

               To log in to a system connected by a direct line, enter:
                    cu  -l  /dev/ttyXX

               or
                    cu -l ttyXX

               To dial a system with the specific line and a specific
               speed, enter:
                    cu  -s1200  -l  ttyXX

               To dial a system using a specific line associated with an
               auto dialer, enter:
                    cu  -l  culXX  9=12015551212

               To use a system name, enter:
                    cu  systemname

          FILES
               /usr/lib/uucp/Systems


          Rev. Base System                                           Page 4





          CU(1C)               INTERACTIVE UNIX System               CU(1C)



               /usr/lib/uucp/Devices
               /usr/spool/locks/LCK..(tty-device)

          SEE ALSO
               cat(1), ct(1C), echo(1), stty(1), uucp(1C), uname(1).

          DIAGNOSTICS
               Exit code is zero for normal exit, otherwise, one.

          WARNINGS
               The cu command does not do any integrity checking on data it
               transfers.  Data fields with special cu characters may not
               be transmitted properly.  Depending on the interconnection
               hardware, it may be necessary to use a ~. to terminate the
               conversion even if stty 0 has been used.  Non-printing char-
               acters are not dependably transmitted using either the ~%put
               or ~%take commands.  cu between some modems will not return
               a login prompt immediately upon connection.  A carriage
               return will return the prompt.

          BUGS
               There is an artificial slowing of transmission by cu during
               the ~%put operation so that loss of data is unlikely.
































          Rev. Base System                                           Page 5



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026