Cp

如何復製文件而不使用 btrfs 複製其數據?

  • December 20, 2015

我沒有使用 btrfs 的經驗,但它被宣傳為能夠刪除重複文件。

在我的應用程序中,我需要複製整個目錄樹。

據我所知,btrfs 僅在某些後期掃描中進行重複數據刪除,而不是立即刪除。即使只是使用cp似乎也不會觸發任何重複數據刪除(至少,df顯示複製文件大小的磁碟使用量增加)。

我可以避免完全移動數據並btrfs直接告訴在另一個位置複製文件,基本上只是複製它的元數據嗎?

本質上,類似於硬連結,但具有獨立的元數據(權限、修改時間、…)。

有兩種選擇:

  1. cp --reflink=always
  2. cp --reflink=auto

第二個幾乎總是比第一個更可取。Usingauto意味著如果文件系統不支持重新連結(例如,ext4 或複製到 NFS 共享),它將回退到執行真正的複制。使用第一個選項,我很確定它會徹底失敗並停止複制。

如果您將其用作腳本的一部分,該腳本需要在面對非理想條件時保持穩健,auto將為您提供更好的服務。

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