我有目錄a和目錄b。他們很大。 b 與 a 幾乎相同。 「幾乎」意味著有 4-5 個檔案不同,但我不知道它們是哪一個。我想將 b 複製到 a 上,但只複製不同的檔案。我在狂歡。
(不,我不能簡單地刪除 a 並將其替換為 b,因為 1)a 是受版本控制的 2)完整副本(或 mv)會花費太多時間。我只想複製不同的文件)。
答案1
你可以用來rsync
做到這一點,我使用的命令是rsync -tr "folder to copy from" "folder to copy to"
例如rsync -tr /home/me/stuff/* /home/me/otherstuff/
答案2
也可以使用 good old 來做到這一點cp
:
感謝 srcspider 提醒我使用-T
!
cp -ruT old-dir new-dir
答案3
另一個不錯的選擇是 Unison (http://www.cis.upenn.edu/~bcpierce/unison/),特別是如果沒有真正的「來源」和「目的地」。每個目錄都是一個根目錄,Unison 會同步它們並保留元資料以供將來同步。它提供了命令列和 GUI 選項,也可以透過 cron 輕鬆安排。
我用它來將 Dropbox 備份到無法執行 Dropbox 用戶端的本機 NAS 裝置。
答案4
您可以比較這兩個目錄。
diff -r 目錄1 目錄2
它會向您顯示不同的文件列表