在运行
rcp 命令(连接命令)也可用于第三方传输。可以运行 rcp 命令,以在另外两台运行 rshp 计算机之间复制文件。rshd 守护程序是 UNIX 计算机提供的,所以运行
Source 和 Path\Destination 都必须是目录。然而,如果源不是目录,则可以使用不带递归的 -r。
如果文件名不是以正斜杠 (/)(对于 UNIX)或反斜杠 (\)(对于
rcp 命令不提示输入密码。当前用户或指定用户必须位于远程计算机上并可以远程执行 rcp 命令。
.rhosts 文件指定哪个远程系统或用户可以使用 rsh 或 rcp 访问本地帐户。使用这些命令访问远程系统时需要该文件(或等同的 HOSTS 文件)。rsh 和 rcp 命令将本地用户名传输到远程系统。远程系统使用该名称和请求系统的 IP 地址(通常解析为计算机名)来决定是否授予访问权。没有规定要指定密码才可以使用这些命令访问帐户。
如果用户登录到域,则主域控制器必须可以解析该登录名,因为它没有缓存在本地计算机上。因为用户名是 rsh 协议必要的一部分,如果不能获得用户名,该命令将无效。
.rhosts 文件是一个文本文件,该文件中每一行为一个条目。条目由本地计算机名、本地用户名和有关该条目的所有注释组成。每个条目均由制表符或空格分开,注释以 (#) 开头,例如:
computer5marie #This computer is in room 31A
.rhosts 文件必须在远程计算机的用户主目录中。有关远程计算机 .rhosts 文件特定执行的详细信息,请参阅远程系统的文档。
此外,可以将计算机名添加到远程计算机上的 /Etc/Hosts 文件中。这样,当您使用
使用 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 不能相同。)
如果用户使用域而非本地计算机登录到运行
要将本地文件复制到远程计算机的登录目录中,请键入:
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