Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 在跳过现有文件时复制文件-Unix_Macos_Shell_Unix_Terminal - Fatal编程技术网

Macos 在跳过现有文件时复制文件-Unix

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 一定要阅读这

我想拿一个大文件夹(~100GB)复制到另一个文件夹。我希望它跳过任何存在的文件(而不是文件夹),因此如果
/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