Runs a command on another UNIX-based system.
uux [ -c | -C ] [ -n | -z ] [ - ] [ -aName ] [ -b ] [ -gGrade ] [ -j ] [ -p ] [ -e ] [ -r ] [ -sFile ] [ -xDebugLevel ] CommandString
The uux command is a Basic Networking Utility (BNU) that runs a specified command on a specified UNIX-based system while enabling the user to continue working on the local system. Before running the requested command, the uux command gathers any necessary files from the designated systems. The user can direct the output from the command to a specific file on a specific system. For security reasons, many installations permit the uux command to run only the rmail command.
The uux commands on other systems create execute (X.*) files that run commands on the local system. In addition, the uux command on the local system creates both command (C.*) files and data (D.*) files for transfer to other systems. Execute files contain the command string to be executed on the designated system. Command files contain the same information as those created by the uucp command. Data files either contain the data for a remote command execution or else become X.* files on remote systems for remote command executions.
The full path name of an execute file is a form of the following:
/var/spool/uucp/System/X.SystemNxxxx
After creating the files in the spooling directory, the uux command calls the uucico daemon to transfer the files from the spooling directory on the local system to the designated remote system. Once the files are transferred, the uuxqt daemon on the remote system executes the CommandString on the specified system, placing any output from the command in the file designated by the original uux command request.
The CommandString argument is made up of one or more arguments that look like an operating system command line, except that CommandString argument may be prefixed by the name of the remote system in the form System!. The default System is the local system. Unless the user entering the uux command includes the -n flag, the command notifies that user if the remote system does not run the command. This response comes by mail from the remote system.
Note: The notation ~ (tilde) is the shorthand way of specifying the public spooling directory, /var/spool/uucppublic.
- | Makes the standard input to the uux command the standard input to the CommandString argument. |
-aName | Replaces the user ID of the person issuing the command with the user ID specified with the Name variable. |
-b | Returns standard input to the command if the exit status is not zero. |
-c | Transfers the source files to the destination on the specified system. The source files are copied into the spooling directory, and the uucico daemon is invoked immediately. This flag is the default. |
-C | Transfers the source files to the spool directory. After a set
period of time (specified in the uusched program), the uucico daemon attempts to transfer the files
to the destination on the specified computer.
Occasionally, there are problems in transferring a source file; for example, the remote computer may not be working or the login attempt may fail. In such cases, the file remains in the spool directory until it is either transferred successfully or removed by the uucleanup command. |
-e | Enables file expansion. |
-gGrade | Specifies when the files are to be transmitted during a particular connection. The Grade variable specifies a single number (0 through 9) or letter (A through Z, a through z); lower ASCII-sequence characters cause the files to be transmitted earlier than do higher sequence characters. The number 0 is the highest (earliest) grade; z is the lowest (latest). The default is N. |
-j | Displays the job identification number of the process that is running the command on the specified system. Use this job ID with the BNU uustat command to check the status of the command or with the uustat -k flag to terminate the process. |
-n | Prevents user notification by the mail command of the success or failure of a command. The default is to notify the user if the command fails. |
-p | Uses the standard input to the uux command as the standard input to the CommandString argument. A - (minus) has the same effect. |
-r | Prevents the starting of the spooling program that transfers files between systems. The default is to start the spooling program. |
-sFile | Reports the status of the transfer in a file specified by the File variable on the designated system. File names can contain only ASCII characters. |
-xDebugLevel | Displays debugging information on the screen of the local system. The DebugLevel variable must be a number from 0 to 9. A higher number gives a more detailed report. |
-z | Notifies the user if the command completes successfully. This flag is the opposite of the system default, which is to notify the user only in the event of a failure. |
uux merlin!qprt /reports/memos/lance
In this example, the remote file /reports/memos/lance is printed on remote system merlin. Since neither the -n nor -z flag is specified, the uux command notifies the user only if the remote system fails to run the command. The response comes by the mail command from the remote system.
uux merlin!qprt /reports/memos/lance uux zeus!qprt /test/examples/examp1
In this example, the remote /reports/memos/lance file is printed on remote system merlin, and the remote /test/examples/examp1 file is printed on remote system zeus. Since neither the -n nor -z flag is specified, the uux command notifies the user only if the remote system fails to run the command. The response comes by the mail command from the remote system.
uux "!/usr/bin/diff hera!/usr/amy/f1 venus!/home/amy/f2 > \ !f1.diff"
In this example, the /usr/amy/f1 file from the remote system hera is compared to the /home/amy/f2 file from the remote system venus and the output is placed in the file f1.diff, located in the current working directory on the local system.
The output file must be write-enabled. If you are uncertain about the permission status of a specific target output file, direct the results to the public directory. The exclamation points representing the local system are optional. The destination name must be entered either preceded by a > with the whole command string enclosed in " " (quotation marks) or entered enclosed in braces and backslashes, as \{ DestinationName \}.
uux "hera!/usr/bin/diff /tmp/out1 zeus/tmp/out2 > ~/DF"
In this example, the diff file is on the remote system hera. The first source file is on the remote system hera, and the secondfile is on the system zeus. (zeus may be the local system or another remote system.) The output is directed to the file DF in the public directory on the local system.
uux hera!uucp venus!/home/amy/f1 \{merlin!/home/geo/test\}
In this example, the uucp command is run on the remote system hera, and the /home/amy/f1 file, stored on system venus, is sent to user geo on system merlin as test. The destination name is entered enclosed in braces and backslashes.
uux "cut -f1 -d: hera\!/etc/passwd > ~/passw.cut"
In this example, the cut command is run on the local system. The first field from each line of the password file on system hera is placed in the passw.cut file in the public directory on the local system. The uux command is running in a C shell, so a \ (backslash) must precede the exclamation point in the name of the remote system.
uux -p mercury! cp /tmp/example /tmp/examplecopy
The user must enter a Ctrl-D in order to terminate the command input. After Ctrl-D is pressed, the command will be spooled for remote execution on system mercury.
/usr/bin/uux | Contains the uux command. |
/var/spool/uucp | Is the spooling directory. |
/var/spool/uucppublic | Is the public directory. |
The ct command, cu command, mail command, rmail command, uucleanup command, uucp command, uuname command, uupick command, uustat command, uuto command, qprt command.
The sendmail daemon, uucico daemon, uuxqt daemon.