ITEEDU

注释

第三方传输

rcp 命令(连接命令)也可用于第三方传输。可以在 Windows XP 计算机上运行 rcp 命令,以在另外两台运行 rshp 计算机之间复制文件。rshd daemon 是 UNIX 计算机提供的,所以 Windows XP 计算机只是作为运行命令的系统参加第三方传输。

使用 -r 参数

Source 和 Path\Destination 都必须是目录。然而,如果源不是目录,则可以使用不带递归的 -r。

使用 Source 和 Path\Destination 参数。

如果文件名不是以 UNIX 系统的正斜杠 (/) 或 Windows XP 的反斜杠 (\) 打头,则假定为相对于当前的工作目录。在 Windows XP 中,这是运行命令的目录。在远程系统中,这是远程用户的登录目录。句点 (.) 表示当前目录。可以在远程路径中使用反斜杠 (\)、引号 (") 或单引号 (‘) 转义字符,以便在远程计算机上使用通配符字符。

远程特权

rcp 命令不提示输入密码。当前用户或指定用户必须位于远程计算机上并可以远程执行 rcp 命令。

.rhosts 文件

.rhosts 文件指定哪个远程系统或用户可以使用 rsh 或 rcp 访问本地帐户。使用这些命令访问远程系统时需要该文件(或等同的 HOSTS 文件)。rsh 和 rcp 命令将本地用户名传输到远程系统。远程系统使用该名称和或请求系统的 IP 地址(通常解析为计算机名)来决定是否授予访问权。没有规定要指定密码才可以使用这些命令访问帐户。

如果用户登录到域,则主域控制器必须可以解析该登录名,因为它没有缓存本地计算机上。因为用户名是 rsh 协议必要的一部分,如果不能获得用户名,该命令将无效。

.rhosts 文件是一个文本文件,该文件中每一行为一个条目。条目由本地计算机名、本地用户名和有关该条目的所有注释组成。每个条目均由制表符或空格分开,注释用散列标记 (#) 打头,例如:

computer5marie #This computer is in room 31A

.rhosts 文件必须在远程计算机的用户主目录中。有关远程计算机 .rhosts 文件特定执行的详细信息,请参阅远程系统的文档。

此外,可以将计算机名添加到远程计算机上的 /Etc/Hosts 文件中。这样可以使远程系统利用 Windows XP TCP/IP 实用程序验证计算机的远程请求。

指定计算机(主机)

使用 Computer.User 参数使用非当前用户的用户名。如果用 source 指定了 computer.user,远程计算机上的 .rhosts 文件必须包含 user 项,如下所示:

 rcp host99.user7:file1 corp7.admin:file2

Host99 上的 .rhosts 文件在 corp7 上应当包含 user7 项。

如果计算机名作为包含点的完整域名提供,则用户名必须附加到计算机名中,如前文所述。这样可以防止将域名的最后一个元素解析为用户名,如下所述:

 rcp domain-name1.user:user92  domain-name2.user:user7

远程处理

远程处理由从大多数 UNIX 系统上的用户登录解释器运行的命令执行。用户配置文件或用户的 .cshrc 在解析文件名之前执行,并且可以在远程文件名中使用导出的解释器变量(使用转义字符或引号)。

正在复制文件

如果要将多个文件复制到一个文件而不是目录,则只复制最后一个文件。rcp 命令不能将文件复制到自身(Source 和 Path/Destination 不能相同。)

如果用户使用域而非本地计算机登录到 Windows XP Professional 计算机,且主域控制器无法使用,则该命令将因为 rcp 无法确定本地用户名而无效。该限制也适用于 rsh。

只有当网际协议 (TCP/IP) 协议在 网络连接中安装为网络适配器属性的组件时,该命令才可用。

范例

要将本地文件复制到远程计算机的登录目录中,请键入:

 rcp filename remotecomputer:

要将本地文件复制到远程计算机的现存目录中并重新命名,请键入:

 rcp filename remotecomputer:/directory/newfilename

要将多个本地文件复制到远程登录目录的子目录中,请键入:

 rcp file1 file2 file3 remotecomputer:subdirectory/filesdirectory

要从远程源复制到本地计算机的当前目录中,请键入:

 rcp remotecomputer:filename

要将多个文件从多个远程源复制到使用不同用户名的远程目的地,请键入:

 rcp remote1.user1:file1 remote2.user2:file2 remotedest.destuser:directory