假设我用来cp
将目录复制到另一个地方。如果这个过程需要很长时间,并且我在源目录下创建一个新文件,它会被复制,还是依赖于某些东西?
答案1
如果您在操作时创建新文件cp
,则很可能不会拾取该文件。这可能取决于cp
实现:有些在启动时收集文件列表,其他则按块进行。如果是递归复制,cp
我见过的所有实现都是逐个目录工作的,因此如果将文件添加到cp
尚未遍历的目录中,它将被复制。
如果中途添加了一个文件,并且想要复制它,请rsync
稍后运行(复制完成并且新文件完全写入之后)。 Rsync只会复制添加的文件。
您可以从一开始就运行 rsync(用于rsync -a
执行递归复制并保留元数据)。 Rsync 几乎可以做所有cp
可以做的事情,甚至更多,因此您可以忽略cp
并始终使用rsync
(如果您愿意的话)(除了在没有的嵌入式系统上rsync
)。