怎樣在Linux上找出和刪除重復(fù)文件
怎樣在Linux上找出和刪除重復(fù)文件
Linux系統(tǒng)操作中,如果文件中的數(shù)據(jù)過(guò)多,想要?jiǎng)h除重復(fù)數(shù)據(jù)行是非常麻煩的,查找不方便,那么怎樣在Linux上找出和刪除重復(fù)文件呢?下面跟著學(xué)習(xí)啦小編來(lái)一起來(lái)了解下吧。
在Linux上找出和刪除重復(fù)文件方法
無(wú)論你是否正在使用Linux桌面或者服務(wù)器,有一些很好的工具能夠幫你掃描系統(tǒng)中的重復(fù)文件并刪除它們來(lái)釋放空間。圖形界面和命令行界面的都有。重復(fù)文件是磁盤(pán)空間不必要的浪費(fèi)。畢竟,如果你的確需要在不同的位置享有同一個(gè)文件,你可以使用軟鏈接或者硬鏈接,這樣就可以在磁盤(pán)的一個(gè)地方存儲(chǔ)數(shù)據(jù)了。
FSlint
FSlint 在不同的Linux發(fā)行版二進(jìn)制倉(cāng)庫(kù)中都有,包括Ubuntu、Debian、Fedora和Red Hat。只需你運(yùn)行你的包管理器并安裝“fslint”包就行。這個(gè)工具默認(rèn)提供了一個(gè)簡(jiǎn)單的圖形化界面,同樣也有包含各種功能的命令行版本。
不要擔(dān)心FSlint的圖形化界面太復(fù)雜。默認(rèn)情況下,它會(huì)自動(dòng)選中Duplicate窗格,并以你的家目錄作為搜索路徑。
要安裝fslint,若像我這樣運(yùn)行的是Ubuntu,這里是默認(rèn)的命令:
$ sudo apt-get install fslint
這里還有針對(duì)其他發(fā)行版的安裝命令:
Debian:
svn checkout http://fslint.googlecode.com/svn/trunk/ fslint-2.45 cd fslint-2.45 dpkg-buildpackage -I.svn -rfakeroot -tc sudo dpkg -i ../fslint_2.45-1_all.deb
Fedora:
sudo yum install fslint
OpenSUSE:
[ -f /etc/mandrake-release ] && pkg=rpm [ -f /etc/SuSE-release ] && pkg=packages wget http://www.pixelbeat.org/fslint/fslint-2.42.tar.gz sudo rpmbuild -ta fslint-2.42.tar.gz sudo rpm -Uvh /usr/src/$pkg/RPMS/noarch/fslint-2.42-1.*.noarch.rpm
對(duì)于其他發(fā)行版:
wget http://www.pixelbeat.org/fslint/fslint-2.44.tar.gz tar -xzf fslint-2.44.tar.gz cd fslint-2.44 (cd po && make) ./fslint-gui
要在Ubuntu中運(yùn)行fslint的GUI版本fslint-gui, 使用Alt+F2運(yùn)行命令或者在終端輸入:
$ fslint-gui
默認(rèn)情況下,它會(huì)自動(dòng)選中Duplicate窗格,并以你的家目錄作為搜索路徑。你要做的就是點(diǎn)擊Find按鈕,F(xiàn)Slint會(huì)自動(dòng)在你的家目錄下找出重復(fù)文件列表。
點(diǎn)擊按鈕來(lái)刪除任何你要?jiǎng)h除的文件,并且可以雙擊預(yù)覽。
完成這一切后,我們就成功地刪除你系統(tǒng)中的重復(fù)文件了。
注意 ,命令行工具默認(rèn)不在環(huán)境的路徑中,你不能像典型的命令那樣運(yùn)行它。在Ubuntu中,你可以在/usr/share/fslint/fslint下找到它。因此,如果你要在一個(gè)單獨(dú)的目錄運(yùn)行fslint完整掃描,下面是Ubuntu中的運(yùn)行命令:
cd /usr/share/fslint/fslint ./fslint /path/to/directory
這個(gè)命令實(shí)際上并不會(huì)刪除任何文件。它只會(huì)打印出重復(fù)文件的列表-你需要自己做接下來(lái)的事。
$ /usr/share/fslint/fslint/findup --help find dUPlicate files. Usage: findup [[[-t [-m|-d]] | [--summary]] [-r] [-f] paths(s) ...] If no path(s) specified then the current directory is assumed. When -m is specified any found duplicates will be merged (using hardlinks). When -d is specified any found duplicates will be deleted (leaving just 1). When -t is specfied, only report what -m or -d would do. When --summary is specified change output format to include file sizes. You can also pipe this summary format to /usr/share/fslint/fslint/fstool/dupwaste to get a total of the wastage due to duplicates.
怎樣在Linux上找出和刪除重復(fù)文件相關(guān)文章: