系统管理指南:网络服务

Procedure如何在本地系统和远程系统间复制文件 (rcp)

  1. 确保您具有复制权限。

    您至少应在源系统上具有读取权限,在目标系统上具有写入权限。

  2. 确定源和目标的位置。

    如果不知道源或目标的路径,可以先按如何登录到远程系统 (rlogin)中所述使用 rlogin 命令登录到远程系统。然后,浏览远程系统直到找到该位置。从而,可在未注销的情况下执行下一步。

  3. 复制文件或目录。


    $ rcp [-r] source-file|directory   target-file|directory
    
    rcp

    (无选项)将源中的单个文件复制到目标。

    -r

    将源中的目录复制到目标。

    无论您登录到远程系统还是登录到本地系统,此语法都适用。只是文件或目录的路径名要进行相应更改,如表 29–4 及以下样例所示。

    您可使用 "~" 和 "." 字符来指定本地文件或目录名称的路径部分。但是请注意,"~" 适用于当前用户而不适用于远程系统,"." 适用于所登录到的系统。有关这些符号的说明,请参见表 29–4


示例 29–8 使用 rcp 将远程文件复制到本地系统

在此示例中,rcp 用于将远程系统 pluto/home/jones 目录中的文件 letter.doc 复制到本地系统 earth 上的工作目录 (/home/smith):


earth(/home/smith): rcp pluto:/home/jones/letter.doc .

在此情况下,rcp 操作是在未远程登录的情况下执行的。此处,命令行结尾的 "." 符号表示本地系统而非远程系统。

目标目录也是本地用户的起始目录,因此还可使用 "~" 符号来指定它。



示例 29–9 使用 rloginrcp 将远程文件复制到本地系统

在此示例中,rcp 操作在执行 rlogin 命令之后运行,以将远程系统中的文件复制到本地系统。尽管该操作的流程与前一示例的流程相同,但已针对远程登录更改了路径:


earth(/home/smith): rlogin pluto

.

.

.

pluto(/home/jones): rcp letter.doc ~

在此情况下,不适合在命令行结尾使用 "." 符号。由于远程登录,因此该符号仅表示远程系统-实质上指示 rcp 创建重复文件。但是,"~" 符号表示当前用户的起始目录,即使登录远程系统也是如此。



示例 29–10 使用 rcp 将本地文件复制到远程系统

在此示例中,rcp 用于将本地系统 earth 的起始目录 (/home/smith) 中的文件 notice.doc 复制到远程系统 pluto/home/jones 目录:


earth(/home/smith): rcp notice.doc pluto:/home/jones

由于未提供远程文件名,因此文件 notice.doc 将以相同名称复制到 /home/jones 目录。

在下述情况下,将重复执行前面示例中的 rcp 操作,但 rcp 是从本地系统上的另一工作目录 (/tmp) 输入的。请注意,"~" 符号用于表示当前用户的起始目录:


earth(/tmp): rcp ~/notice.doc pluto:/home/jones


示例 29–11 使用 rloginrcp 将本地文件复制到远程系统

在此示例中,rcp 操作在执行 rlogin 命令之后运行,以将本地文件复制到远程目录。尽管该操作的流程与先前示例的流程相同,但路径已经针对远程登录进行了更改。


earth(/home/smith): rlogin pluto

.

.

.

pluto(/home/jones): rcp ~/notice.doc .

在此情况下,"~" 符号可用来指示当前用户的起始目录,即使该目录位于本地系统上。由于用户已登录到远程系统,因此 "." 符号表示远程系统上的工作目录。以下是可执行相同操作的替换语法:


pluto(/home/jones): rcp earth:/home/smith/notice.doc /home/jones