CU(1c,C) AIX Commands Reference CU(1c,C) ------------------------------------------------------------------------------- cu PURPOSE Connects directly or indirectly to another UNIX system. SYNTAX +------------+ +-----------+ +------+ +------+ +------+ cu ---| |---| |---| |---| |---| |---> +- -s speed -+ +- -l line -+ +- -h -+ +- -t -+ +- -d -+ +------+ +-| |-+ +- telno --+ >---| +- -o -+ |---| |---| | +------+ | +-- -n ----+ +-| |-+ +- -e -+ +------+ +------------+ +------+ +------+ +-| |-+ cu ---| |---| |---| |---| +- -o -+ |-- -l line --| +- -s speed -+ +- -h -+ +- -d -+ | +------+ | +-| |-+ +- -e -+ +------+ +------+ +------+ +-| |-+ cu ---| |---| |---| +- -o -+ |-- system name --| +- -h -+ +- -d -+ | +------+ | +-| |-+ +- -e -+ DESCRIPTION The Basic Networking Utilities (BNU) command cu connects one system to another UNIX system, to a terminal connected to a UNIX system, or, if the proper hardware and software are installed, to a non-UNIX system. The connection 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. When using a modem, you can specify the telno argument (telephone number) with appropriately placed equal signs for secondary dial tones, or minus signs for Processed November 8, 1990 CU(1c,C) 1 CU(1c,C) AIX Commands Reference CU(1c,C) delays of 4 seconds. Or you can specify the system_name argument (a uucp system name) instead; in this case, the cu command obtains an appropriate hard-wired line or telephone number from the file /usr/adm/uucp/Systems. After issuing the cu command from the local system, press the Enter key (carriage return) and then log in to the remote system. When the connection is made, the cu command 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, the cu command 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 local commands, 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. Notes: 1. The system must be configured to use the cu command before you issue this command. Refer to Managing the AIX Operating System for details about this configuration. 2. Do not use the system_name flag in conjunction with the -1 and -s flags. If you do, the cu command connects to the first available line for the requested system name, ignoring the specified line and speed. 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 by using ~! (remote to local) and pressing 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. Processed November 8, 1990 CU(1c,C) 2 CU(1c,C) AIX Commands Reference CU(1c,C) As each block of the file is transferred, consecutive 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, consecutive 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 structure variables for the user's terminal. This is useful for debugging. ~l Prints the values of the TERMIO structure variables for the remote communication 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 initiating 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. Processed November 8, 1990 CU(1c,C) 3 CU(1c,C) AIX Commands Reference CU(1c,C) 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 expansion 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 the cu command on system X to connect to system Y, and then issue the cu command 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 the cu command 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 the cu command, 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 command 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 the cu command during the ~%put operation so that loss of data is unlikely. 6. The exit code is 0 for normal exit, otherwise, the code is -1. FLAGS Processed November 8, 1990 CU(1c,C) 4 CU(1c,C) AIX Commands Reference CU(1c,C) -sspeed Specifies the transmission speed (300, 1200, 2400, 4800, 9600). The default value is Any 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 communication line. This flag 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, the cu command searches the /usr/adm/uucp/Devices file to check whether the requested speed is available for the specified line. If so, the connection 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 provided. Using this flag with system_name rather than with telno does not give the desired result (see system_name). Note: Under ordinary circumstances, the user should not have to specify the transmission 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 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, prompts the user to provide the telephone number to be dialed, rather than taking it from the command line. EXAMPLES 1. To connect to a remote system using a system name: Processed November 8, 1990 CU(1c,C) 5 CU(1c,C) AIX Commands Reference CU(1c,C) 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, Any 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 associated 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 available links. /usr/adm/uucp/Dialcodes Dialing code abbreviations. /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 See the following commands: "cat," "ct," "echo," "stty, STTY," "uuname," and "uucp." Processed November 8, 1990 CU(1c,C) 6