Diff
比較目錄但不比較文件的內容
和
diff -r
我可以完成這項任務,但是需要很長時間,因為
diff
檢查文件的內容。我想要確定兩個文件在大小、上次修改等方面相同的東西。但沒有逐位檢查文件(例如影片需要很長時間)。
還有其他方法嗎?
預設情況下,rsync 僅比較文件元數據。這意味著時間戳、大小和屬性。其中。但不是文件的內容。
rsync -n -a -i --delete source/ target/
解釋:
-n
不要實際複製或刪除 <– 這很重要!!1-a
比較文件的所有元數據,如時間戳和屬性-i
每個文件列印一行資訊--delete
還報告不在源中的文件注意:使用斜杠附加目錄名稱很重要。這是一個 rsync 的事情。
你可以像這樣縮短一個字母選項
rsync -nai --delete source/ target/
如果您還想查看為相同文件列印的行,請提供
-i
兩次rsync -naii --delete source/ target/
範例輸出:
*deleting removedfile (file in target but not in source) .d..t...... ./ (directory with different timestamp) >f.st...... modifiedfile (file with different size and timestamp) >f+++++++++ newfile (file in source but not in target) .f samefile (file that has same metadata. only with -ii)
請記住,rsync 只比較元數據。這意味著如果文件內容更改但元數據保持不變,則 rsync 將報告該文件相同。這是不太可能發生的情況。所以要麼相信當元數據相同時數據是相同的,或者你必須逐位比較文件數據。
獎勵:有關進度資訊,請參見此處:估計 rsync 的剩餘時間或完成工作?