scp 用户的 rsync 迁移指南
在 SSH 8.0 预发布公告 中,OpenSSH 项目表示,他们认为 scp 协议已经过时,不灵活,而且不容易修复,然后他们继而推荐使用 sftp 或 rsync 来进行文件传输。 然而,很多用户都是从小用着 scp 命令长大的,所以对 rsync 并不熟悉。此外, rsync 可以做的事情也远不止复制文件,这可能会给菜鸟们留下复杂和难以掌握的印象。尤其是, scp 命令的标志大体上可以直接对应到 cp 命令的标志,而 rsync 命令的标志却和它大相径庭。 本文将为熟悉 scp 的人提供一个介绍和过渡的指南。让我们跳进最常见的场景:复制文件和复制目录。 复制文件 对于复制单个文件而言, scp 和 rsync 命令实际上是等价的。比方说,你需要把 foo.txt 传到你在名为 server 的服务器上的主目录下: $ scp foo.txt me@server:/home/me/ 相应的 rsync 命令只需要输入 rsync 取代 scp : $ rsync foo.txt me@server:/home/me/ 复制目录 对于复制目录,就有了很大的分歧,这也解释了为什么 rsync 会被认为比 scp 更复杂。如果你想把 bar 目录复制到 server 服务器上,除了指定 ssh 信息外,相应的 scp 命令和 cp 命令一模一样。 $ scp -r bar/ me