cp是 coreutils 的一部分,因此它无处不在。此外,它主要用于在一台计算机内复制文件。
rsync不是 coreutils 的一部分,即使在默认环境中也不存在。此外,它主要设计用于通过网络传输文件。rsync与 coreutils 相比也有更多的依赖,但是这种差异没有多大意义。
PS:顺便说一下,CPU 使用率在嵌入式系统上仍然很重要。
您不想rsync用于每个复制操作的主要原因是因为rsync有计算开销。在实际开始数据传输之前,rsync扫描所有文件。然后在每个文件之前,进行比较。即使使用 2012 年可用的快速 CPU,这种开销也不是微不足道的。我一直在进行这些类型的传输,并且在相当大的服务器上,一旦您开始处理数据演出,开销可能会很耗时。
我不是说不要使用rsync,根本不要使用,rsync可以随时使用,这样可以节省一些传输时间。只是不要使用rsyncwhencp可以完成同样的事情。
我通常做的,首先使用常规复制方法带入数据。然后rsync对于后续的更改,也就是可以利用这些差异的时候。