本篇文章給大家分享的是有關(guān)Linux中如何查找和刪除重復(fù)文件,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
為光山等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及光山網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作、光山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
1. Rdfind –在Linux中查找重復(fù)文件
Rdfind 意即 redundant data find(冗余數(shù)據(jù)查找),是一個(gè)通過(guò)訪問(wèn)目錄和子目錄來(lái)找出重復(fù)文件的自由開(kāi)源的工具。它是基于文件內(nèi)容而不是文件名來(lái)比較。Rdfind 使用排序算法來(lái)區(qū)分原始文件和重復(fù)文件。如果你有兩個(gè)或者更多的相同文件,Rdfind 會(huì)很智能的找到原始文件并認(rèn)定剩下的文件為重復(fù)文件。一旦找到副本文件,它會(huì)向你報(bào)告。你可以決定是刪除還是使用硬鏈接或者符號(hào)(軟)鏈接代替它們。
要在Linux中安裝rdfind,請(qǐng)根據(jù)您的Linux發(fā)行版使用以下命令。
$ sudo apt-get install rdfind [在 Debian/Ubuntu 上] $ sudo yum install epel-release && $ sudo yum install rdfind [在 CentOS/RHEL 上] $ sudo dnf install rdfind [在 Fedora 22+ 上] $ sudo pacman -S rdfind [在 Arch Linux 上]
要在目錄上運(yùn)行rdfind,只需鍵入rdfind和目標(biāo)目錄。下面來(lái)看一個(gè)例子:
linuxmi@linuxmi:~$ rdfind /home/user
正如你所看到rdfind將結(jié)果保存在一個(gè)文件名為RESULTS.TXT位于從那里你運(yùn)行該程序的目錄中。該文件包含rdfind找到的所有重復(fù)文件。您可以查看文件,并根據(jù)需要手動(dòng)刪除重復(fù)的文件。
您可以做的另一件事是使用-dryruna選項(xiàng),該選項(xiàng)將提供重復(fù)項(xiàng)列表,而無(wú)需執(zhí)行任何操作:
rdfind -dryrun true /home/user
找到重復(fù)項(xiàng)后,您可以選擇將其替換為硬鏈接。
rdfind -makehardlinks true /home/user
如果您希望刪除重復(fù)項(xiàng),則可以運(yùn)行。
rdfind -deleteduplicates true /home/user
要查看rdfind的其他有用選項(xiàng),可以使用rdfind手冊(cè)。
man rdfind
2. Fdupes –在Linux中掃描重復(fù)文件
Fdupes是另一個(gè)程序,它使您可以識(shí)別系統(tǒng)上的重復(fù)文件。它是免費(fèi)的并且是開(kāi)源的,并且使用C語(yǔ)言編寫。它使用以下方法來(lái)確定重復(fù)的文件:
比較部分md5sum簽名
比較完整的md5sum簽名
逐字節(jié)比較驗(yàn)證
就像rdfind一樣,它具有類似的選項(xiàng):
遞歸搜索
排除空文件
顯示重復(fù)文件的大小
立即刪除重復(fù)項(xiàng)
排除其他所有者的文件
要在Linux中安裝fdupes,請(qǐng)根據(jù)Linux發(fā)行版使用以下命令。
$ sudo apt-get install fdupes [在Debian / Ubuntu上] $ sudo yum install epel-release && $ sudo yum install fdupes [在CentOS / RHEL上] $ sudo dnf install fdupes [在Fedora 22+上] $ sudo pacman -S fdupes [在Arch Linux上]
Fdupes語(yǔ)法類似于rdfind。只需鍵入命令,然后鍵入您要掃描的目錄即可。
$ fdupeslinuxmi@linuxmi:~$ fdupes /home/linuxmi/www.linuxmi.com /home/linuxmi/www.linuxmi.com/linuxmi.txt /home/linuxmi/www.linuxmi.com/linuxmi(復(fù)件).txt
要遞歸地搜索文件,必須像這樣指定-r選項(xiàng)。
$ fdupes -rlinuxmi@linuxmi:~$ fdupes -r /home/linuxmi/www.linuxmi.com /home/linuxmi/www.linuxmi.com/linuxmi.txt /home/linuxmi/www.linuxmi.com/linuxmi(復(fù)件).txt /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/remotes/origin/HEAD /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/heads/master /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/HEAD /home/linuxmi/www.linuxmi.com/color-schemes/script/test /home/linuxmi/www.linuxmi.com/test
還可以指定多個(gè)目錄,并指定遞歸搜索的目錄。
fdupes-r
要使fdupes計(jì)算重復(fù)文件的大小,請(qǐng)使用該-S選項(xiàng)。
fdupes -S
要收集有關(guān)找到的文件的摘要信息,請(qǐng)使用-m選項(xiàng)。
fdupes -mfdupes -m /home/linuxmi/www.linuxmi.com/
最后,如果要?jiǎng)h除所有重復(fù)項(xiàng),請(qǐng)使用如下所示-d的選項(xiàng)。
fdupes -d
Fdupes將詢問(wèn)要?jiǎng)h除哪些找到的文件。您將需要輸入文件號(hào):
fdupes -d /home/linuxmi/www.linuxmi.com/
絕對(duì)不建議使用的解決方案是使用該-N選項(xiàng),該選項(xiàng)將導(dǎo)致僅保留第一個(gè)文件。
fdupes -dN
要獲取與fdupes一起使用的可用選項(xiàng)的列表,請(qǐng)通過(guò)運(yùn)行查看幫助頁(yè)面。
fdupes -help
3. dupeGuru –在Linux中查找重復(fù)文件
dupeGuru是一個(gè)開(kāi)放源代碼和跨平臺(tái)的工具,可用于在Linux系統(tǒng)中查找重復(fù)文件。該工具可以掃描文件名或一個(gè)或多個(gè)文件夾中的內(nèi)容。它還允許您找到與要搜索的文件相似的文件名。
dupeGuru有適用于Windows,Mac和Linux平臺(tái)的不同版本。它的快速模糊匹配算法功能可幫助您在短時(shí)間內(nèi)找到重復(fù)的文件。它是可自定義的,您可以提取所需的確切重復(fù)文件,并從系統(tǒng)中清除不需要的文件。
要在Linux中安裝dupeGuru,請(qǐng)根據(jù)您的Linux發(fā)行版使用以下命令。
————— 在 Debian/Ubuntu/Mint 上————— $ sudo add-apt-repository ppa:dupeguru/ppa $ sudo apt-get update $ sudo apt-get install dupeguru ————— 在 Arch Linux 上————— $ sudo pacman -S dupeguru
Ubuntu 20.04 安裝 dupeGuru 見(jiàn) http://www.linuxidc.net/thread-9837-1-1.html
4. FSlint – Linux的重復(fù)文件查找器
FSlint是一個(gè)免費(fèi)實(shí)用程序,用于查找和清除文件系統(tǒng)上各種形式的皮棉。它還報(bào)告重復(fù)文件,空目錄,臨時(shí)文件,重復(fù)/沖突(二進(jìn)制)名稱,錯(cuò)誤的符號(hào)鏈接等。它同時(shí)具有命令行和GUI模式。
要在Linux中安裝FSlint,請(qǐng)根據(jù)Linux發(fā)行版使用以下命令。
$ sudo apt-get install fslint [在 Debian/Ubuntu 上] $ sudo yum install epel-release && $ sudo yum install fslint [在 CentOS/RHEL 上] $ sudo dnf install fslint [在 Fedora 22+ 上] $ sudo pacman -S fslint [在 Arch Linux 上]
Ubuntu 20.04 安裝 FSlint 的方法見(jiàn) http://www.linuxidc.net/thread-9836-1-1.html
以上就是Linux中如何查找和刪除重復(fù)文件,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。