uucp 命令

用途

从一个系统复制文件到另一个系统。

语法

uucp -c -C ] [  -d -f ] [  -g等级 ] [  -j ] [  -m ] [  -n用户] [  -r ] [  -s文件 ] [  -x调试级别 ] SourceFile ... DestinationFile ...

描述

uucp命令是基本网络实用工具 (BNU) 命令,用于将一个系统中的一个或多个源文件复制到另一个UNIX系统中的一个或多个目标文件。 文件能在本地系统间、本地和远程系统间与远程系统间复制。

uucp 命令通过两个步骤完成文件传输: 首先,通过创建命令 (C. *) 文件在本地计算机上的假脱机目录中,然后通过调用 uucico 守护程序将请求发送到指定的计算机。 命令文件包含信息,例如源文件和目标文件的完整路径名与发送方的登录名。 命令文件的完整路径的形式如下所示:

/var/spool/uucp/SystemName/C.SystemNameNxxxx

这里,N 表示请求的级别,xxxx 表示 BNU 使用的十六进制顺序数字。

如果 uucp 命令与 -C 标志一起用于将文件复制到假脱机目录以进行传输,那么 uucp 命令不仅创建命令文件, 但也有数据 (D. *) 包含实际源文件的文件。 数据文件的完整路径的形式如下所示:

/var/spool/uucp/SystemName/D.SystemNamexxxx###

一旦命令文件(数据文件,如果需要的话)创建好,此时uucp 命令调用 uucico 守护程序,这个守护程序接着尝试访问远程计算机以传递文件。

在发出 uucp 命令之前,发出 uuname 命令以确定远程系统的确切名称很有用。 uulog 命令提供有关另一个系统的 uucp 活动的信息。

来源和目标文件名

文件名字和系统名字只能包含 ASCII 字符。 任何一个名字都可以是本地系统上的路径名字或有以下格式:

系统名称PathName

其中 SystemName 来自 BNU 知道的系统名称列表。

目标 SystemName 也可以是名称列表,例如以下所示:

系统名称系统名称. . . ! 系统名称!PathName

这种情况下,尝试用规定的路由器发送文件到目标。 确保这个路由的中间节点能够转送信息,最终链接到下一个系统。

Shell 模式匹配字符?(问号) ,*(星号) 和[ . . . ](括号和省略号) 可以在源文件的路径名中使用; 相应的系统会将它们展开。 shell 模式匹配字符不应在目标文件的路径名中使用。

如果 DestinationFile 是目录而不是文件,uucp 命令用 SourceFile 名字的最后部分命名传输到远程系统的文件。

路径名

SourceFileDestinationFile 参数的路径名仅能包含 ASCII 字符。 源文件的路径可以是以下之一:

  • 完整路径名
  • 相对路径名

DestinationFile 参数的路径形式可以相似于 SourceFile 参数或可以是以下之一:

  • ~用户 开头的路径名 (例如,~jkimble) 其中 User 是远程系统上的登录名。 特定用户登录目录可作为传输文件的目标。 如果用户规定的登录名无效,那么文件传输到公共目录 /var/spool/uucppublic,这个目录是缺省目录。
  • ~/目标开头的路径名, 其中, Destination 附加到 /var/spool/uucppublic。 除非请求传输多个文件、目标作为目录在远程系统上已经存在或者指定目标为目录名,否则目标可作为文件名。

    若要指定目标为目录名,在目标名字后面紧跟一个 /(斜杠)。 例如,~/amy/在目标创建目录时/var/spool/uucppublic/amy,如果它尚不存在,请将请求的文件放在该目录中。

许可权

  • 系统管理员应限制其他系统上的用户对本地文件的访问权。
  • 传输文件时, uucp 命令会保留执行许可权,并向所有者,组和所有其他用户授予读写许可权。 (uucp 命令拥有文件。)
  • 将文件发送到其他系统上的任意 DestinationFile 路径名,或者从其他系统上的任意 SourceFile 路径名获取文件通常由于安全限制而失败。 路径名里指定的文件不但必须给予同一组内的用户读和写权限,而且必须为任何组给予这样的权限。
  • 受保护文件以及请求者拥有的受保护目录中的文件可以由 uucp 命令发送。

标志

描述
-c 防止文件被复制。 此标志是缺省值,不能和 -C 标志一起用。 如果两个标志都指定,那么 -c 标志被覆盖。
-C 传输文件中复制本地的文件到假脱机目录。 根据 轮询系统 文件的配置以及 乌斯格德 守护程序的运行频率,可以在需求轮询时或将来立即传输这些文件。

偶而,当传输源文件时会发生问题;例如远程计算机不工作了或登录尝试失败。 这个情况下,文件一直保留在假脱机目录中直到传输成功或者被 cleanup 命令删除。

这个标志屏蔽了 -c 标志。

-d 创建所有的中间目录,在复制源文件到远程系统的目标文件时需要这些中间目录。 取代先创建目录然后复制文件到其中这一模式,uucp 命令只需要目标路径名就可执行,BNU 会创建所需的目录。 此标志是缺省值且不能和 -f 标志一起使用。
-f 在文件传输中不创建中间目录。 如果目标目录已经存在且不想 BNU 覆盖这个目录可使用这个标志。 这个命令屏蔽了 -d 标志。
-g等级 指定在特定连接中何时传输文件。 Grade 变量是(0 至 9)或(A 至 Z,a 至 z)的一个数字或字母;字符的 ASCII 顺序越低,文件传输越早。 数字 0 是最高(最早)的级别;z 是最低(最迟)的级别。 缺省值为 N
-j 在标准输出上显示传输操作作业的标识数字。 使用uustatuuq命令可以通过作业 ID 获取特定作业的状态,使用uustat-k命令或uuq-d命令可以在传输完成前终止传输。
-M 当源文件成功复制到远程系统的目标文件后发邮件消息给请求者。 消息发到请求者邮箱 /var/spool/mail/Usermail 命令不会为本地传输发送消息。

-m 标志仅当发送多个文件或接收单一文件时起作用。 当转发多个文件时不起作用。

-n用户 通知 User 条目定义的远程系统接收方已经发出一个文件。 邮件系统不能给本地传输发消息。 用户名只能包含 ASCII 字符。 接收由 shell 模式匹配字符指定的多个文件?(问号) ,*(星号) 和[ . . . ](方括号和省略号) 不激活 -n 选项。
-r 阻止启动 uucico 文件传输守护程序,即使该命令是在允许调用远程系统时发出的。 (缺省下,如果在 Poll 系统文件规定的时间阶段内发布这个命令,就会尝试调用远程系统。) -r 选项在调试时很有用。
-s文件 报告传输状态到规定的文件中。 这种情形下,File 变量必须指定一个完整路径名。
-x调试级别 在本地系统的屏幕显示调试信息。 DebugLevel 变量是从 0 到 9 的数字。 数字越高,报告越详细。

示例

  1. 要将文件从本地系统复制到远程系统,请输入:
    uucp /home/geo/f1 hera!/home/geo/f1
    在此示例中,f1将文件从本地系统复制到远程系统hera.
  2. 要从远程系统复制文件并将其放在公用目录中,请输入:
    uucp hera!geo/f2 /var/spool/uucppublic/f2
    在此示例中,f2来自远程系统的文件hera 复制并放置在公共目录中。
  3. 要从远程系统复制文件并将其放在公共目录以外的目录中,请输入:
    uucp hera!geo/f2 /home/geo/f2
    在此示例中,f2来自远程系统的文件hera复制到/home/geo/f2目录。 该geo登录目录必须允许对其他组的成员具有写许可权,例如,使用方式 777。

文件

描述
/usr/bin/uucp 包含 uucp 命令。
/etc/uucp/轮询 文件列出自动调用远程系统时(轮询的)的时间。
/etc/uucp/Systems 文件描述了可访问的远程系统。
/etc/uucp/系统文件 指定用作 Systems 文件的备用文件。
/var/spool/uucp 包含 BNU 状态信息的假脱机目录。
/var/spool/uucppublic 公共目录中包含等待由 uucico 守护程序传输的文件。
/var/spool/uucppublic/SystemName/C. * 包括命令文件。
/var/spool/uucppublic/SystemName/D. * 包括数据文件。