尾部的斜杠并不是一个错误。有时您可能希望使用它,而有时您可能不希望使用它,这取决于实际情况。
保持同步
scp 非常有用,因为它与 cp 非常接近。tar 和 ssh 稍微复杂一点,但它们可以保持文件的元数据,如拥有者和权限。
但是 tar 和 scp 都无法对本地和远程目录中的内容进行同步。例如,如果您在本地系统中更改了一个文件,并在远程系统中更改了另一个文件,那么为了建立工作镜像,您不得不运行两次 scp 命令。现在可以想象一下,如果您更改了大量的文件,并且其中许多具有相同的名称,很快地,您将会发现同步工作变得非常复杂。
幸运的是,有一个名为 rsync 的神奇的实用程序,它可以对文件集进行同步。然而更有价值的是,rsync 仅对那些更改过的数据进行传输,这样可以使得传输的数据量最小化。
与 tar 一样,您可以将 rsync 与 ssh 组合使用,以连接到远程系统并对本地和远程的文件集合进行同步。与 scp 一样,您可以使用 rsync 在本地进行文件复制。您还可以使用 rsync 列举文件。
其最大的优点在于,rsync 具有各种选项,要使得一个目录成为另一个目录真正的镜像,可以使用相应的选项删除原始目录中不存在的那些文件。让我们来看一些示例:
$ rsync -e ssh --times *.txt destination:
这个命令将当前工作目录中所有的文本文件复制到您在名为 destination 的计算机上的 home 目录中。-times 选项保持每个文件的访问权限、创建和最后修改时间。
$ rsync -e ssh --times --perms --recursive --delete doc destination:
这个变化的 rsync 命令在目标计算机上您的 home 目录中创建本地 doc 目录的镜像。同时保持文件的时间和权限,并且删除外来的文件(即,在本地目录中不存在的远程目录中的文件)。
标签: