uux [ -c | -C ] [ -n | -z ] [ - ] [ -aName ] [ -b ] [ -gGrade ] [ -j ] [ -p ] [ -e ] [ -r ] [ -sFile ] [ -xDebugLevel ] CommandString
uux 命令是一种“基本联网实用程序”(BNU),在指定的基于 UNIX 的系统上运行指定的命令。同时不影响用户在本地系统上的工作。在运行指定命令之前,uux 命令从指定系统中收集所有必要的文件。用户可以将命令输出指向特定系统的特定文件。基于安全性的考虑,许多安装程序允许 uux 命令只运行 rmail 命令。
其它系统上的 uux 命令创建在本地系统运行命令的执行文件(X.*)。另外,为了能传输到其它系统,本地系统上的 uux 命令创建了命令文件(C.*)和数据文件(D.*)。执行文件包含要在指定系统中执行的命令字符串。命令文件包含 uucp 命令所创建的同样的信息。数据文件要么包含执行远程命令所需的数据,要么成为远程系统上的执行文件 X.* 以执行远程命令。
执行文件的完整路径名如下所示:
/var/spool/uucp/System/X.SystemNxxxx
在 spooling 目录中创建好这些文件之后,uux 命令调用 uucico 守护进程将文件从本地系统的假脱机目录转移到指定的远程系统中。一旦文件被转移,该远程系统上的 uuxqt 守护进程执行指定系统上的 CommandString,将该命令的输出放置到原始 uux 命令要求所指定的文件中。
CommandString 自变量由一个或多个自变量组成, 看上去就象操作系统的命令行,不同的是该 CommandString 自变量的前缀可能是远程系统的名称, 采用 System! 的形式。缺省的 System 是本地系统。除非用户在输入 uux 命令时加入了 -n 标志, 如果远程系统没有运行该命令,该命令就会通知该用户。远程系统将通过邮件的形式来响应。
注:符号 ~ (波浪号) 是指定公共假脱机目录 /var/spool/uucppublic 的简略方式。
- | 将 uux 的标准输入作为 CommandString 变量的标准输入。 |
-aName | 用 Name 变量中指定的用户标识替换发出该命令的用户标识。 |
-b | 如果退出状态不为零,将标准输入返回给该命令。 |
-c | 将源文件转移到指定系统的目的地址。源文件被复制到假脱机目录,uucico 守护进程被立即调用。这个标志是缺省值。 |
-C | 将源文件转移到假脱机目录中。在设定的一段时间(在 uusched 程序中指定)之后,uucico 守护进程试图将文件转移到指定计算机的目的地址里。
在传输源文件时经常会遇到问题;例如,远程计算机可能没有正常工作或者可能出现登录失败的情况。在那种情况下,文件仍然留在假脱机目录里,直到它被成功传输出去或被 uucleanup 命令删除。 |
-e | 启用文件扩展。 |
-gGrade | 指定文件在一个特定的连接期间何时被传输。Grade 变量指定一个整数(从 0 到 9)或字母(从 A 到 Z,a 到 z); 在 ASCII 码序列中,低序列的字符比高序列的字符使文件传输更优先。数字 0 处于最高(最优先)级别,z 处于最低(最迟)级别。缺省值为 N。 |
-j | 显示在指定系统里运行命令的进程的作业标识数。用 BNUuustat 命令和该作业标识来检查该命令的状态或用 uustat -k 标志来终止该进程。 |
-n | 防止用 mail 命令通知用户某个命令的执行是成功还是失败。缺省情况是在命令执行失败时通知用户。 |
-p | 将 uux 命令的标准输入用作 CommandString 参数的标准输入。-(减号)产生同样的效果。 |
-r | 防止启动假脱机程序在系统间传输文件。缺省设置是启动假脱机程序。 |
-sFile | 报告指定系统上 File 变量所指定的文件的传输状态。文件名只能包含 ASCII 码字符。 |
-xDebugLevel | 在本地系统的屏幕上显示调试信息。DebugLevel 变量的值必须是一个从 0 到 9 的整数。数字越大,则给出的报告越详细。 |
-z | 通知用户命令的执行是否成功。此标志与系统缺省值相反,缺省情况是只在失败的时候通知用户。 |
uux merlin!qprt /reports/memos/lance
在本例中,远程文件 /reports/memos/lance 在远程系统 merlin 上被打印。由于既没有指定 -n 标志,也没有指定 -z 标志,uux命令只有在远程系统运行命令失败时才通知用户。远程系统通过 mail 命令来发布该通知。
uux merlin!qprt /reports/memos/lance uux zeus!qprt /test/examples/examp1
在本例中,远程文件/reports/memos/lance 在远程系统 merlin 中被打印,远程文件/test/examples/examp1 在远程系统 zeus 中被打印。由于既没有指定 -n 标志,也没有指定 -z 标志,uux 命令只在远程系统运行命令失败时才通知用户。远程系统通过 mail 命令来响应。
uux "!/usr/bin/diff hera!/usr/amy/f1 venus!/home/amy/f2 > \ !f1.diff"
在本例中,远程系统 hera 中的文件 /usr/amy/f1 与远程系统 venus 中的文件 /home/amy/f2 进行了比较,输出信息将放置在本地系统的当前工作目录里的文件 f1.diff 中。
输出文件的状态必须是可写的。如果您对特定目标输出文件的权限状态不是很清楚,将该结果指向公共目录。代表本地系统的感叹号是可以可选的。输入目的地名时,前面必须有“>”,整个命令字符串必须用 " "(引号)围起来;或者整个目的地名称用括号和反斜杠围起,如 \{ DestinationName \} 的形式。
uux "hera!/usr/bin/diff /tmp/out1 zeus/tmp/out2 > ~/DF"
在本例中,diff 文件在远程系统 hera 上。第一个源文件在远程系统 hera 上,第二个文件在系统 zeus 上。(zeus 可能是本地系统或另外一个远程系统。)输出被指向到本地系统公共目录下的 DF 文件中。
uux hera!uucp venus!/home/amy/f1 \{merlin!/home/geo/test\}
在本示例中,uucp 命令在远程系统 hera 上运行,作为 test,存储在系统 venus 上的文件 /home/amy/f1 发送给系统 merlin 上的用户 geo。输入的目的地名要用括号和反斜杠围起。
uux "cut -f1 -d: hera\!/etc/passwd > ~/passw.cut"
在本例中,cut 命令在本地系统中运行。系统 hera 中的密码文件中每一行的第一个字段放置在本地系统公共目录下的 passw.cut 文件中。uux 命令在 C shell 中运行,所以 \ (反斜杠) 必须放在远程系统名称中的感叹号前。
uux -p mercury! cp /tmp/example /tmp/examplecopy
用户必须键入 Ctrl-D 以便终止命令输入。按下 Ctrl-D 键后,该命令将进行假脱机以在系统 mercury 上远程执行。
/usr/bin/uux | 包含 uux 命令。 |
/var/spool/uucp | 是假脱机目录。 |
/var/spool/uucppublic | 是公共目录。 |
ct 命令、cu 命令、mail 命令、rmail 命令、uucleanup 命令、uucp 命令、uuname 命令、uupick 命令、uustat 命令、uuto 命令和qprt 命令。
sendmail 守护进程、uucico 守护进程和uuxqt 守护进程。