Macos 在跳过现有文件时复制文件-Unix
我想拿一个大文件夹(~100GB)复制到另一个文件夹。我希望它跳过任何存在的文件(而不是文件夹),因此如果Macos 在跳过现有文件时复制文件-Unix,macos,shell,unix,terminal,Macos,Shell,Unix,Terminal,我想拿一个大文件夹(~100GB)复制到另一个文件夹。我希望它跳过任何存在的文件(而不是文件夹),因此如果/music/index.html不存在,即使/music目录已经存在,它仍会复制 我找到了,但是我的shell说-u不是有效的参数 我不知道rsync是如何工作的,所以请告诉我这是不是一个更好的解决方案 谢谢。请始终使用rsync复制文件,因为它很棒 要忽略现有文件,请执行以下操作: rsync --ignore-existing --recursive /src /dst 一定要阅读这
/music/index.html
不存在,即使/music
目录已经存在,它仍会复制
我找到了,但是我的shell说-u
不是有效的参数
我不知道rsync是如何工作的,所以请告诉我这是不是一个更好的解决方案
谢谢。请始终使用
rsync
复制文件,因为它很棒
要忽略现有文件,请执行以下操作:
rsync --ignore-existing --recursive /src /dst
一定要阅读这本书,并四处寻找许多非常好的例子。特别是与ssh的结合使得rsync
成为一个非常好的工具,因为它的--partial
选项使得它成为低速和不可靠连接的好工具。添加--verbose
,查看正在复制哪些文件。请务必查看有关保留权限、用户和时间戳的过多选项。rsync(1)
当源和目标位于两台不同的计算机上时,绝对会发光。当源和目标位于同一台计算机上时,它仍然是更好的工具
一个简单的用法如下所示:
rsync -av /path/to/source /path/to/destination
如果您确信两个位置中存在的任何文件都是相同的,请使用--忽略现有的选项:
rsync -av --ignore-existing /path/to/source /path/to/destination
为了完整起见,当我使用rsync(1)
在远程系统上进行备份时,我最喜欢的命令是:
rsync -avz -P /path/to/source hostname:/path/to/destination
-z
要求压缩(我不想在本地麻烦,但通过较慢的网络链接,它会产生很大的影响),-p
要求压缩--部分压缩和--进度压缩--如果必须重新启动,将重复使用部分文件传输,并将显示一个方便的进度条指示器。rsync
始终是更好的解决方案。是的,很好。这个问题可能应该转移到递归还是我需要添加-r
?很好,已经启动并运行了。我可以通过在详细模式(-v
)下运行来判断它是否有效。谢谢要在rsync工作时显示进度,请使用:rsync--human readable--progress--ignore existing--recursive/src/dst