![Rsync 在同一台机器上移动文件有什么优势吗?](https://linux22.com/image/881805/Rsync%20%E5%9C%A8%E5%90%8C%E4%B8%80%E5%8F%B0%E6%9C%BA%E5%99%A8%E4%B8%8A%E7%A7%BB%E5%8A%A8%E6%96%87%E4%BB%B6%E6%9C%89%E4%BB%80%E4%B9%88%E4%BC%98%E5%8A%BF%E5%90%97%EF%BC%9F.png)
我在读如何在 Digital Ocean Ubuntu 14.04 VPS 上安装 Magento。所有文件都在服务器上。作者说:
我们将使用
rsync
将我们的 Magento 文件传输到那里,因为rsync
将包括重要的隐藏文件,如.htaccess
。一旦传输完成,我们可以通过删除magento
那里的文件夹和存档来清理我们的主目录。sudo rsync -avP ~/magento/. /var/www/html/
rsync
将安全地将您解压目录中的所有内容复制到文档根目录/var/www/html/
。
我已经使用 Linux 很长时间了,从未使用 Rsync 在同一台机器上移动文件,也从未遇到过作者提到的问题。Digital Ocean 雇佣了专业作者,所以他的说法可能有道理。
在同一台机器上移动文件时,使用 Rsync 比 mv 或 cp 有什么优势吗?
答案1
我认为重点是将 的内容转移magento
到/var/www/html
。也就是说,如果我们有:
magento
├── .bar
└── foo
我们会得到:
html
├── .bar
└── foo
这很烦人,但用 来实现这一点并不困难mv
。您必须使用某种形式的find
,或者在 bash 中启用dotglob
,以包含.bar
。
rsync
更简单。
和find
:
find magento -mindepth 1 -maxdepth 1 -exec mv -t /var/www/html {} +
dotglob
在 bash 中使用:
shopt -s dotglob
mv magento/* /var/www/html