Files

執行cp後在源目錄下創建的文件會被複製嗎?

  • January 24, 2014

假設我用cp一個目錄複製到另一個地方。如果這個過程需要很長時間,並且我在源目錄下創建了一個新文件,它會被複製,還是依賴於某些東西?

如果您在cp執行時創建一個新文件,它很可能不會被拾取。這可能取決於cp實現:一些在啟動時收集文件列表,另一些則按塊進行。如果是遞歸複製,cp我見過的所有實現都是按目錄工作的,所以如果將文件添加到cp尚未遍歷的目錄中,它將被複製。

如果您在中途添加文件並且想要複製它,請rsync稍後執行(在復製完成並完全寫入新文件之後)。Rsync 只會複製添加的文件。

您可以從一開始就執行 rsync(用於rsync -a進行遞歸複製並保留元數據)。Rsync 可以做幾乎所有cp可以做的事情,甚至更多,因此您可以忽略cp並始終使用rsync(除非在沒有rsync.

引用自:https://unix.stackexchange.com/questions/48291