1. 程式人生 > 其它 >在Linux中查詢和刪除重複檔案的4種方法

在Linux中查詢和刪除重複檔案的4種方法

大神教你在Linux中查詢和刪除重複檔案的4種方法

在本教程中,您將學習如何使用rdfind和fdupes命令列工具以及稱為DupeGuru和FSlint的GUI工具在Linux中查詢和刪除重複檔案。

如果您習慣於從網路下載各種內容,則整理您的主目錄甚至系統可能會特別困難。

您可能會發現自己下載了相同的mp3,pdf,zip(以及所有其他型別的副檔名)並將其複製到其他目錄。這可能會導致目錄中充斥著各種無用的重複內容。

在本教程中,您將學習如何使用rdfind和fdupes命令列工具以及稱為DupeGuru和FSlint的GUI工具在Linux中查詢和刪除重複檔案。

需要注意的是 – 永遠要小心你在系統上刪除的內容,因為這可能會導致不必要的資料丟失。如果您正在使用一個新工具,首先在一個測試目錄中嘗試它,在那裡刪除檔案不會出現問題。

1. Rdfind –在Linux中查詢重複檔案

Rdfind 意即 redundant data find(冗餘資料查詢),是一個通過訪問目錄和子目錄來找出重複檔案的自由開源的工具。它是基於檔案內容而不是檔名來比較。Rdfind 使用排序演算法來區分原始檔案和重複檔案。如果你有兩個或者更多的相同檔案,Rdfind 會很智慧的找到原始檔案並認定剩下的檔案為重複檔案。一旦找到副本檔案,它會向你報告。你可以決定是刪除還是使用硬連結或者符號(軟)連結代替它們。

要在Linux中安裝rdfind,請根據您的Linux發行版使用以下命令。

  1. $sudoapt-getinstallrdfind[在Debian/Ubuntu上]
  2. $sudoyuminstallepel-release&&$sudoyuminstallrdfind[在CentOS/RHEL上]
  3. $sudodnfinstallrdfind[在Fedora22+上]
  4. $sudopacman-Srdfind[在ArchLinux上]

要在目錄上執行rdfind,只需鍵入rdfind和目標目錄。下面來看一個例子:

  1. linuxmi@linuxmi:~$rdfind/home/user

正如你所看到rdfind將結果儲存在一個檔名為RESULTS.TXT位於從那裡你執行該程式的目錄中。該檔案包含rdfind找到的所有重複檔案。您可以檢視檔案,並根據需要手動刪除重複的檔案。

您可以做的另一件事是使用-dryruna選項,該選項將提供重複項列表,而無需執行任何操作:

  1. rdfind-dryruntrue/home/user

找到重複項後,您可以選擇將其替換為硬連結。

  1. rdfind-makehardlinkstrue/home/user

如果您希望刪除重複項,則可以執行。

  1. rdfind-deleteduplicatestrue/home/user

要檢視rdfind的其他有用選項,可以使用rdfind手冊。

  1. manrdfind

2. Fdupes –在Linux中掃描重複檔案

Fdupes是另一個程式,它使您可以識別系統上的重複檔案。它是免費的並且是開源的,並且使用C語言編寫。它使用以下方法來確定重複的檔案:

  • 比較部分md5sum簽名
  • 比較完整的md5sum簽名
  • 逐位元組比較驗證

就像rdfind一樣,它具有類似的選項:

  • 遞迴搜尋
  • 排除空檔案
  • 顯示重複檔案的大小
  • 立即刪除重複項
  • 排除其他所有者的檔案

要在Linux中安裝fdupes,請根據Linux發行版使用以下命令。

  1. $sudoapt-getinstallfdupes[在Debian/Ubuntu上]
  2. $sudoyuminstallepel-release&&$sudoyuminstallfdupes[在CentOS/RHEL上]
  3. $sudodnfinstallfdupes[在Fedora22+上]
  4. $sudopacman-Sfdupes[在ArchLinux上]

Fdupes語法類似於rdfind。只需鍵入命令,然後鍵入您要掃描的目錄即可。

  1. $fdupes<dir>
  2. linuxmi@linuxmi:~$fdupes/home/linuxmi/www.linuxmi.com
  3. /home/linuxmi/www.linuxmi.com/linuxmi.txt
  4. /home/linuxmi/www.linuxmi.com/linuxmi(復件).txt

要遞迴地搜尋檔案,必須像這樣指定-r選項。

  1. $fdupes-r<dir>
  2. linuxmi@linuxmi:~$fdupes-r/home/linuxmi/www.linuxmi.com
  3. /home/linuxmi/www.linuxmi.com/linuxmi.txt
  4. /home/linuxmi/www.linuxmi.com/linuxmi(復件).txt
  5. /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/remotes/origin/HEAD
  6. /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/heads/master
  7. /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/HEAD
  8. /home/linuxmi/www.linuxmi.com/color-schemes/script/test
  9. /home/linuxmi/www.linuxmi.com/test

還可以指定多個目錄,並指定遞迴搜尋的目錄。

  1. fdupes<dir1>-r<dir2>

要使fdupes計算重複檔案的大小,請使用該-S選項。

  1. fdupes-S<dir>

要收集有關找到的檔案的摘要資訊,請使用-m選項。

  1. fdupes-m<dir>
  2. fdupes-m/home/linuxmi/www.linuxmi.com/

最後,如果要刪除所有重複項,請使用如下所示-d的選項。

  1. fdupes-d<dir>

Fdupes將詢問要刪除哪些找到的檔案。您將需要輸入檔案號:

  1. fdupes-d/home/linuxmi/www.linuxmi.com/

絕對不建議使用的解決方案是使用該-N選項,該選項將導致僅保留第一個檔案。

  1. fdupes-dN<dir>

要獲取與fdupes一起使用的可用選項的列表,請通過執行檢視幫助頁面。

  1. fdupes-help

3. dupeGuru –在Linux中查詢重複檔案

dupeGuru是一個開放原始碼和跨平臺的工具,可用於在Linux系統中查詢重複檔案。該工具可以掃描檔名或一個或多個資料夾中的內容。它還允許您找到與要搜尋的檔案相似的檔名。

dupeGuru有適用於Windows,Mac和Linux平臺的不同版本。它的快速模糊匹配演算法功能可幫助您在短時間內找到重複的檔案。它是可自定義的,您可以提取所需的確切重複檔案,並從系統中清除不需要的檔案。

要在Linux中安裝dupeGuru,請根據您的Linux發行版使用以下命令。

  1. —————在Debian/Ubuntu/Mint上—————
  2. $sudoadd-apt-repositoryppa:dupeguru/ppa
  3. $sudoapt-getupdate
  4. $sudoapt-getinstalldupeguru
  5. —————在ArchLinux上—————
  6. $sudopacman-Sdupeguru

Ubuntu 20.04 安裝 dupeGuru 見 http://www.linuxidc.net/thread-9837-1-1.html

4. FSlint – Linux的重複檔案查詢器

FSlint是一個免費實用程式,用於查詢和清除檔案系統上各種形式的皮棉。它還報告重複檔案,空目錄,臨時檔案,重複/衝突(二進位制)名稱,錯誤的符號連結等。它同時具有命令列和GUI模式。

要在Linux中安裝FSlint,請根據Linux發行版使用以下命令。

  1. $sudoapt-getinstallfslint[在Debian/Ubuntu上]
  2. $sudoyuminstallepel-release&&$sudoyuminstallfslint[在CentOS/RHEL上]
  3. $sudodnfinstallfslint[在Fedora22+上]
  4. $sudopacman-Sfslint[在ArchLinux上]

Ubuntu 20.04 安裝 FSlint 的方法見 http://www.linuxidc.net/thread-9836-1-1.html

結論

這些是在Linux系統上查詢重複檔案的非常有用的工具,但是刪除此類檔案時應格外小心。

如果不確定是否需要檔案,最好建立該檔案的備份,並在刪除檔案之前記住其目錄。如果您有任何問題或意見,請在下面的評論部分中提交。

鴻蒙官方戰略合作共建——HarmonyOS技術社群

本文來自希曼部落格-www.ximan.tech,作者:希曼部落格,轉載請註明原文連結:https://www.cnblogs.com/lihuaichen/p/15410218.html