Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
cu(1C)			    Communication Commands			cu(1C)

       cu - call another UNIX system

       cu  [-c device |	-l line]  [-s speed] [-b bits] [-h] [-n] [-t] [-d] [-o
       | -e]  [-L] [-C]	[-H]  telno | systemname [local-cmd]

       The command cu calls up another UNIX system, a terminal,	or possibly  a
       non-UNIX	 system.  It manages an	interactive conversation with possible
       transfers of files. It is convenient to think of	cu as operating	in two
       phases. The first phase is the connection phase in which	the connection
       is established. cu then enters the conversation phase. The -d option is
       the only	one that applies to both phases.

       cu  accepts many	options. The -c, -l, and -s options play a part	in se-
       lecting the medium. The remaining options are used in  configuring  the

       -b bits	       Forces  bits  to	be the number of bits processed	on the
		       line. bits is either  7 or 8.  This  allows  connection
		       between systems with different character	sizes.	By de-
		       fault, the character size of the	line  is  set  to  the
		       same value as the current local terminal, but the char-
		       acter size setting is affected by LC_CTYPE also.

       -c device       Forces cu to use	only entries in	the "Type" field  (the
		       first  field  in	the /etc/uucp/Devices file) that match
		       the user	specified device, usually the name of a	 local
		       area network.

       -C	       Runs  the local-cmd specified at	the end	of the command
		       line instead of entering	interactive  mode.  The	 stdin
		       and  stdout of the command that is run refer to the re-
		       mote connection.

       -d	       Prints diagnostic traces.

       -e	       Sets an EVEN data parity.  This option designates  that
		       EVEN parity is to be generated for data sent to the re-
		       mote system.

       -h	       Sets communication mode to  half-duplex.	  This	option
		       emulates	 local echo in order to	support	calls to other
		       computer	systems	that expect terminals  to  be  set  to
		       half-duplex mode.

       -H	       Ignores	one  hangup. This allows the user to remain in
		       cu while	the remote machine disconnects	and  places  a
		       call  back to the local machine.	 This option should be
		       used when connecting to systems with callback or	 dial-
		       back   modems.  Once  the  callback  occurs  subsequent
		       hangups will cause cu to	terminate.  This option	can be
		       specified  more	than  once. For	more information about
		       dialback	configuration, see remote(4) and System	Admin-
		       istration Guide:	IP Services

       -l line	       Specifies  a  device  name  to use as the communication
		       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	 /etc/uucp/Devices file	record in  which  line
		       matches	the second field (the Line field). When	the -l
		       and -s options are both used together, cu  will	search
		       the  /etc/uucp/Devices  file  to	check if the requested
		       speed for the requested line is available. If  so,  the
		       connection  will	be made	at the requested speed,	other-
		       wise, an	error message will be  printed	and  the  call
		       will  not  be made.  In the general case	where a	speci-
		       fied device is a	directly connected  asynchronous  line
		       (for   instance,	  /dev/term/a),	  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.

       -L	       Goes  through  the login	chat sequence specified	in the
		       /etc/uucp/Systems file. For more	information about  the
		       chat sequence, see System Administration	Guide: IP Ser-

       -n	       Requests	user prompt for	telephone number.   For	 added
		       security,  this	option will prompt the user to provide
		       the telephone number to be dialed, rather than	taking
		       it from the command line.

       -o	       Sets  an	 ODD data parity.  This	option designates that
		       ODD parity is to	be generated for data sent to the  re-
		       mote system.

       -s speed	       Specifies  the  transmission  speed  (300,  1200, 2400,
		       4800, 9600, 19200, 38400). The default value  is	 "Any"
		       speed  which  will  depend on the order of the lines in
		       the /etc/uucp/Devices file.

       -t	       Dials a terminal	which has been set to auto answer. Ap-
		       propriate  mapping  of  carriage-return to carriage-re-
		       turn-line-feed pairs is set.

       The following operands are supported:

       telno	       When using an automatic dialler,	 specifies  the	 tele-
		       phone  number  with equal signs for secondary dial tone
		       or minus	signs placed appropriately  for	 delays	 of  4

       systemname      Specifies  a uucp system	name, which can	be used	rather
		       than a telephone	number;	in this	case, cu  will	obtain
		       an  appropriate	direct line or telephone number	from a
		       system file.

   Connection Phase
       cu uses the same	mechanism that uucp(1C)	does to	 establish  a  connec-
       tion.  This means that it will use the uucp control files /etc/uucp/De-
       vices and /etc/uucp/Systems. This gives cu the ability to  choose  from
       several different media to establish the	connection. The	possible media
       include telephone lines,	direct connections, and	 local	area  networks
       (LAN).  The  /etc/uucp/Devices  file  contains a	list of	media that are
       available on your system. The /etc/uucp/Systems file contains  informa-
       tion  for  connecting  to remote	systems, but it	is not generally read-

       Note: cu	determines which /etc/uucp/Systems and /etc/uucp/Devices files
       to  use based upon the name used	to invoke cu. In the simple case, this
       name will be "cu", but you could	also have created a link  to  cu  with
       another	name,  such as "pppcu",	in which case cu would then look for a
       "service=pppcu" entry in	 the   /etc/uucp/Sysfiles  file	 to  determine
       which /etc/uucp/Systems file to use.

       The telno or systemname parameter from the command line is used to tell
       cu what system you wish to connect to. This parameter can be  blank,  a
       telephone number, a system name,	or a LAN specific address.

       telephone number	       A  telephone  number  is	a string consisting of
			       the tone	dial characters	(the digits  0 through
			       9,  *, and #) plus the special characters = and
			       -. The equal sign designates a  secondary  dial
			       tone and	the minus sign creates a  4 second de-

       system name	       A system	name is	the name of any	computer  that
			       uucp  can call; the uuname(1C) command prints a
			       list of these names.

       LAN address	       The documentation for your  LAN will  show  the
			       form of the LAN specific	address.

       If  cu's	 default behavior is invoked (not using	the -c or -l options),
       cu will use the telno or	systemname parameter to	determine which	medium
       to  use.	 If  a	telephone number is specified, cu will assume that you
       wish to use a telephone line and	it will	select an automatic call  unit
       (ACU). Otherwise, cu will assume	that it	is a system name. cu will fol-
       low the uucp  calling  mechanism	 and  use  the	/etc/uucp/Systems  and
       /etc/uucp/Devices  files	to obtain the best available connection. Since
       cu will choose a	speed that is appropriate for the medium that  it  se-
       lects,  you  may	 not use the -s	option when this parameter is a	system

       The -c and -l options modify this default behavior. -c  is  most	 often
       used to select a	 LAN by	specifying a Type field	from the /etc/uucp/De-
       vices file. You must include either a telno or  systemname  value  when
       using  the  -c option. If the connection	to systemname fails, a connec-
       tion will be attempted using systemname as a  LAN specific address. The
       -l  option is used to specify a device associated with a	direct connec-
       tion. If	the connection is truly	a direct connection to the remote  ma-
       chine,  then there is no	need to	specify	a systemname. This is the only
       case where a telno or systemname	parameter is unnecessary. On the other
       hand,  there  may  be cases in which the	specified device connects to a
       dialer, so it is	valid to specify a telephone number. The -c and	-l op-
       tions should not	be specified on	the same command line.

   Conversation	Phase
       After  making  the  connection,	cu runs	as two processes. The transmit
       process reads data from the standard input and, except for lines	begin-
       ning  with  ~,  passes it to the	remote system. The receive process ac-
       cepts data from the remote system and, except for lines beginning  with
       ~,  passes  it  to  the standard	output.	Normally, an automatic DC3/DC1
       protocol	is used	to control input from the remote so the	buffer is  not
       overrun.	Lines beginning	with ~ have special meanings.

       The transmit process interprets the following user initiated commands:

       ~.		       Terminates the conversation.

       ~!		       Escapes	to  an	interactive shell on the local

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

       ~$cmd...		       Runs cmd	locally	and send its output to the re-
			       mote system.

       ~%cd		       Changes	the  directory	on  the	 local system.
			       Note: ~!cd will cause the command to be run  by
			       a sub-shell, probably not what was intended.

       ~%take from [to]	       Copies 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]	       Copies  file  from (on local system) to file to
			       on remote system. If to is  omitted,  the  from
			       argument	is used	in both	places.

       ~~line		       Sends the line ~	line to	the remote system.

       ~%break		       Transmits  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 structure vari-
			       ables for the user's terminal (useful  for  de-

       ~l		       Prints the values of the	termio structure vari-
			       ables for the remote communication line (useful
			       for debugging).

       ~%ifc		       Toggles	between	DC3/DC1	input control protocol
			       and no input control. This is useful  when  the
			       remote  system does not respond properly	to the
			       DC3 and DC1 characters (can also	 be  specified
			       as ~%nostop).

       ~%ofc		       Toggles	the output flow	control	setting.  When
			       enabled,	outgoing data may be  flow  controlled
			       by  the	remote	host (can also be specified as

       ~%divert		       Allows/disallows	unsolicited diversions.	  That
			       is, diversions not specified by ~%take.

       ~%old		       Allows/disallows	 old style syntax for received

       ~%nostop		       Same as	~%ifc.

       The receive process normally copies data	from the remote	system to  the
       standard	 output	of the local system.  It may also direct the output to
       local files.

       The use of ~%put	requires stty(1) and cat(1) on	the  remote  side.  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.

       The  use	 of ~%take requires the	existence of echo(1) and cat(1)	on the
       remote system, and that the remote system  must	be  using  the	Bourne
       shell,  sh.  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  subsequently
       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:


       In general, ~ causes the	command	to be executed	on  the	 original  ma-
       chine.  ~~ causes the command to	be executed on the next	machine	in the

       Example 1: Dialling a system

       To dial a system	whose telephone	number is  9  1	 201  555  1234	 using
       1200 baud (where	dialtone is expected after the	9):

       example%	cu -s 1200 9=12015551234
       If the speed is not specified, "Any" is the default value.

       Example 2: Logging in to	a system on a direct line

       To login	to a system connected by a direct line:

       example%	cu -l /dev/term/b

       example%	cu -l term/b

       Example 3: Dialling a system with specific line and speed

       To dial a system	with a specific	line and speed:

       example%	cu -s 1200 -l term/b

       Example 4: Using	a system name

       To use a	system name:

       example%	cu systemname

       See  environ(5) for descriptions	of the following environment variables
       that affect the execution of cu:	LC_CTYPE, LC_MESSAGES, and NLSPATH.

       The following exit values are returned:

       0	Successful completion.

       >0	An error occurred.

       /etc/uucp/Devices       device file

       /etc/uucp/Sysfiles      system file

       /etc/uucp/Systems       system file

       /var/spool/locks/*      lock file

       See attributes(5) for descriptions of the following attributes:

       |      ATTRIBUTE	TYPE	     |	    ATTRIBUTE VALUE	   |
       |Availability		     |SUNWbnuu			   |

       cat(1),	echo(1),  stty(1),  tip(1),  uname(1),	 ct(1C),   uuname(1C),
       uucp(1C), remote(4), attributes(5), environ(5)

       System Administration Guide: IP Services

       The  cu	utility	takes the default action upon receipt of signals, with
       the exception of:

       SIGHUP	       Close the connection and	terminate.

       SIGINT	       Forward to the remote system.

       SIGQUIT	       Forward to the remote system.

       SIGUSR1	       Terminate the cu	process	without	the normal  connection
		       closing sequence.

       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	 characters  are  not  dependably transmitted using either the
       ~%put or	~%take commands. ~%put and ~%take cannot be used  over	multi-
       ple links.  Files must be moved one link	at a time.

       There  is  an artificial	slowing	of transmission	by cu during the ~%put
       operation so that loss of data is unlikely.   Files  transferred	 using
       ~%take  or ~%put	must contain a trailing	newline, otherwise, the	opera-
       tion will hang.	Entering a <Control-D> command usually clears the hang

SunOS 5.10			  11 May 2001				cu(1C)


Want to link to this manual page? Use this URL:

home | help