Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cu(1) — AIX/RT 2.2.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat

ct

echo

stty

uuname

uucp

cu

PURPOSE

     Connects directly or indirectly to another UNIX system.

SYNOPSIS
     cu [-s speed][-l line][-h][-t][-d][[-o][-e]][-h]telno

     cu [-s speed][-h][-d][[-o][-e]] -l line

     cu [-h][-d][[-o][-e]] system name


DESCRIPTION

     The Basic Networking Utilities  (BNU) command cu connects
     one system  to another  UNIX system,  to a  terminal con-
     nected to a  UNIX system, or, if the  proper hardware and
     software are  installed, to a non-UNIX  system.  The con-
     nection  can be  established over  a hard-wired  line, or
     over a telephone line via a modem.

     Once the connection is established,  a user can be logged
     in on both  systems at the same  time, executing commands
     on  either one  without  dropping  the BNU  communication
     link.  If the remote computer is also running under UNIX,
     the  user  can  transfer  ASCII  files  between  the  two
     systems.

     Note:  The system should already be configured to use the
     cu command.   Refer to Managing the  AIX Operating System
     for details about this configuration.

     After issuing  cu from  the local  system, the  user must
     press the Enter key (carriage  return) and then log in to
     the remote system.

     After making  the connection,  cu runs as  two concurrent
     processes:  the transmit process reads data from standard
     input and, except  for lines beginning with  a ~ (tilde),
     passes  that data  to the  remote terminal.   The receive
     process accepts  data from the remote  system and, except
     for  lines beginning  with  a ~,  passes  it to  standard
     output.  To control  input from the remote  system so the
     buffer  is  not overrun,  cu  uses  an automatic  DC3/DC1
     (Ctrl-Q/Ctrl-S) protocol.

     In addition to issuing regular AIX commands on the remote
     system,  the user  can also  issue special  cu &ldq.local
     commands,&rdq. which  are preceded by  a ~.  Use  these ~
     commands to issue AIX commands on the local system and to

     perform tasks such as transferring files between two UNIX
     systems.

Local ~ Commands

     The transmit  process interprets  lines beginning  with a
     tilde in the following ways:

     ~.                Logs the  user off the  remote computer
                       and terminates the remote connection.
     ~!                Returns  the  user  to  an  interactive
                       shell  on  the  local  system.   Toggle
                       between  the local  and remote  systems
                       using ~!  (remote to local)  and Ctrl-D
                       (local to remote).
     ~!cmd...          Executes the command  denoted by cmd on
                       the local system via sh -c.
     ~$cmd...          Runs the command denoted by cmd locally
                       and  sends  its  output to  the  remote
                       system for execution.
     ~%cd              Changes  the  directory  on  the  local
                       system.
     ~%take from [ to ]
                       Copies  the  from  file on  the  remote
                       system  to the  to  file  on the  local
                       system.  If  to is omitted,  the remote
                       file  is  copied  to the  local  system
                       under  the  same  file name.   As  each
                       block of the  file is transferred, con-
                       secutive single digits are displayed on
                       the terminal screen.
     ~%put from [ to ] Copies  the  from  file  on  the  local
                       system  to the  to file  on the  remote
                       system.   If to  is omitted,  the local
                       file  is copied  to  the remote  system
                       under  the  same  file name.   As  each
                       block of the  file is transferred, con-
                       secutive single digits are displayed on
                       the terminal screen.
     ~~line            Sends  the string  denoted by  ~line to
                       the remote system.
     ~%break           Transmits a BREAK to the remote system.
                       The BREAK can also be specified as ~%b.
     ~%debug           Toggles the -debug flag on or off; this
                       can also be specified as ~%d.
     ~t                Prints the values  of the TERMIO struc-
                       ture variables for the user's terminal.
                       This is useful for debugging.
     ~l                Prints the values  of the TERMIO struc-
                       ture variables for  the remote communi-
                       cation   line.  This   is  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
                       that does  not respond properly  to the
                       DC3 and DC1 characters.

     Note:  As soon  as the user enters ~!,~%, ~$,  ~t, or ~l,
     the system displays the name of the local computer in the
     a format such as the following:

        ~[system_name]!/%

     The user  then enters the  command to be executed  on the
     local computer.

Additional Information

     o   The  receive process  normally copies  data from  the
         remote system to the  local system's standard output.
         Internally, the  program accomplishes this  by initi-
         ating an output diversion to  a file when a line from
         the remote system begins with ~>.

         Data from  the remote system  is diverted to  file on
         the local  system. The trailing  ~> marks the  end of
         the diversion.
     o   The use of ~%put requires  stty and cat on the remote
         system.  It also requires  that the current erase and
         kill characters on the  remote system be identical to
         these current control characters on the local system.
         Backslashes are inserted at appropriate places.
     o   The use of ~%take requires echo and cat on the remote
         system.  Also,  stty tabs mode  should be set  on the
         remote system if tabs are to be copied without expan-
         sion to spaces.
     o   The  cu  command  can  be used  to  connect  multiple
         systems, and commands can then  be executed on any of
         the  connected systems.   For  example,  issue cu  on
         system X to connect to system Y, and then issue cu on
         system Y  to connect to  system Z.  System X  is then
         the local  computer, and systems  Y and Z  are remote
         computers.

         The user can execute commands  on system Z by logging
         on and issuing the command.  Commands can be executed
         on system  X by prefixing  the command with  a single
         tilde  (~cmd),  and  on  system Y  by  prefixing  the
         command  with two  tildes (~~cmd).   In general,  one
         tilde causes the specified  command to be executed on
         the original local computer, and two tildes cause the
         command to be executed on the next system on which cu
         was issued.

         For example, once the multiple systems are connected,
         the user  can execute the  uname command with  the -n
         flag (to  display the node  name) on  Z, X, and  Y as
         follows:

           $ uname -n
           Z
           $ ~!uname -n
           X
           $ ~~!uname -n
           Y

     Notes:

     1.  After  executing cu,  the  user must  log  in to  the
         remote system and press Enter (carriage return).

     2.  The cu command does not do integrity checking on data
         it transfers.

     3.  Data  fields with  special cu  characters may  not be
         transmitted properly.

     4.  Depending on the interconnection  hardware, it may be
         necessary to  use a ~. to  terminate the conversation
         even if the normal logout sequence has been used.

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

     6.  The exit code is 0 for normal exit, otherwise, -1.

FLAGS

     -sspeed        Specifies  the  transmission  speed  (300,
                    1200,  2400,  4800,  9600).   The  default
                    value   is   &ldq.Any&rdq.  speed,   which
                    instructs  the  system  to  use  the  rate
                    appropriate for the default (or specified)
                    transmission  line.   (The  order  of  the
                    transmission  lines  is specified  in  the
                    /usr/adm/uucp/Devices file.)   Most modems
                    operate at 300, 1200,  or 2400 baud, while
                    most hard-wired lines are set to 1200 baud
                    or higher.
     -lline         Specifies a device name to use as the com-
                    munication  line.   This  can be  used  to
                    override the  search that  would otherwise
                    take  place for  the first  available line
                    with the right speed.  When the -l flag is
                    used without  the -s flag, the  speed of a
                    line      is      taken      from      the
                    /usr/adm/uucp/Devices file.

                    When  the   -l  and  -s  flags   are  used
                    together,       cu      searches       the
                    /usr/adm/uucp/Devices   file    to   check
                    whether the  requested speed  is available
                    for the  specified line.  If so,  the con-
                    nection  is made  at the  requested speed;
                    otherwise,  an error  message is  printed,
                    and the call is not made.

                    The specified device  is generally a hard-
                    wired  asynchronous   line  (for  example,
                    /dev/tty2),  in  which  case  a  telephone
                    number  (telno) is  not required.   If the
                    specified  device  is  associated  with  a
                    modem,  a telephone  number  must be  pro-
                    vided.  Using  this flag  with system_name

                    rather than  with telno does not  give the
                    desired result (see system_name, below).

                    Note:   Under ordinary  circumstances, the
                    user should not have to specify the trans-
                    mission  speed,  or  a  line/device.   The
                    defaults set when  BNU is installed should
                    be sufficient.  Refer  to Managing the AIX
                    Operating  System  for  information  about
                    setting defaults.
     -h             Emulates local  echo, supporting  calls to
                    other systems that  expect terminals to be
                    set to half-duplex mode.
     -t             Used to  dial an  ASCII terminal  that has
                    been  set  to  auto  answer.   Appropriate
                    mapping  of  carriage-return to  carriage-
                    return line-feed pairs is set.
     -d             Prints diagnostic traces.
     -o             Designates that odd parity is to be gener-
                    ated for data sent to the remote system.
     -e             Designates that even parity  is to be gen-
                    erated for data sent to the remote system.
     -n             For  added security,  prompts the  user to
                    provide the telephone number to be dialed,
                    rather  than taking  it  from the  command
                    line.
     telno          When using  a modem,  the argument  is the
                    telephone   number,   with   appropriately
                    placed  equal  signs  for  secondary  dial
                    tones,  or minus  signs  for  delays of  4
                    seconds.
     system_name    A uucp system name can be used rather than
                    a  telephone  number;  in  that  case,  cu
                    obtains an appropriate  hard-wired line or
                    telephone            number           from
                    /usr/adm/uucp/Systems.

                    Note:  Do not use  the system_name flag in
                    conjunction with the -l  and -s flags.  If
                    you do, cu connects to the first available
                    line  for   the  requested   system  name,
                    ignoring the specified line and speed.

EXAMPLES

     1.  To connect to a remote system using a system name:

           cu hera

     2.   To  dial a remote  system whose telephone  number is
         1-201-555-1212, where dialing 9 is required to get an
         outside dial tone and the baud rate is 1200:

           cu -s 1200 9=12015551212

         If the  speed is not specified,  &ldq.Any&rdq. is the
         default value.
     3.  To log in to a system connected by a hard-wired line:

           cu -l /dev/tty2

         or

           cu -l tty2

     4.  To dial a remote system with the specified line and a
         specific speed:

           cu -s 1200  -l tty3

     5.  To dial a remote system using a specific line associ-
         ated with a modem:

           cu -l cul4  9=12015551212

     6.  To copy  a file from  the local system to  the remote
         system (after logging in to the remote system):

           ~%put /u/amy/file

         or

           ~%put /u/amy/file /u/amy/tmpfile

FILES

     /etc/locks/LCK..(tty-device)    Prevents multiple  use of
                                     device.
     /usr/adm/uucp/Devices           Information  about avail-
                                     able links.
     /usr/adm/uucp/Dialcodes         Dialing   code   abbrevi-
                                     ations.
     /usr/adm/uucp/Dialers           Initial handshaking  on a
                                     link.
     /usr/adm/uucp/Permissions       Access permission codes.
     /usr/adm/uucp/Systems           Accessible         remote
                                     systems.

RELATED INFORMATION

     The following commands:   "cat,"  "ct," "echo,"  "stty,"
     "uuname," and "uucp."

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