`cp` 与 `rsync -a` 最接近的是什么?

Tim*_*Tim 2 cp rsync coreutils

从联机帮助页rsync

-a, --archive
Run Code Online (Sandbox Code Playgroud)

这相当于-rlptgoD. 这是一种表示您想要递归并想要保留几乎所有内容的快捷方式(-H 是一个明显的遗漏)。上述等价的唯一例外是指定 --files-from 时,在这种情况下不暗示 -r。

请注意, -a 不保留硬链接,因为查找多重链接的文件很昂贵。您必须单独指定 -H。

什么是最接近的cprsync -a,在文件拷贝输入和结果方面,忽略了传输速度?

cp -arl错过与什么相比rsync -a?只有-Drsync

除了它错过的那些方面外,cp -arl行为是否相同rsync -a

谢谢。

Sté*_*las 5

请注意,rsync -a也不会保留 ACL、扩展属性、硬链接(如前所述)、稀疏性。

cp至少有 GNU

cp -a
Run Code Online (Sandbox Code Playgroud)

保留所有这一切,不仅如此rsync。更接近的 rsync 等效项是

rsync -aAHX
Run Code Online (Sandbox Code Playgroud)

我不认为 rsync 可以复制稀疏性,但您可以使用--sparse这样的 NUL 序列(无论它们是分配的还是空洞)变成目标中的空洞。

请注意,(非标准)-a选项cp意味着-r. -l(另一个非标准选项),假设 GNUcp没有做你想做的事。它制作硬链接而不是复制文件。