在Linux系統中,清理重復文件可以通過多種方法實現。以下是一些常用的方法和步驟:
fdupes
工具安裝fdupes
:
sudo apt-get install fdupes # Debian/Ubuntu
sudo yum install fdupes # CentOS/RHEL
sudo dnf install fdupes # Fedora
查找重復文件:
fdupes -r /path/to/search
-r
選項表示遞歸搜索指定目錄下的所有文件。
刪除重復文件:
fdupes -rdN /path/to/search
-d
選項表示刪除重復文件,-N
選項表示在刪除前提示確認。
find
和md5sum
命令創建一個臨時目錄來存儲文件哈希:
mkdir /tmp/file_hashes
計算文件的MD5哈希并存儲到文件中:
find /path/to/search -type f -exec md5sum {} \; > /tmp/file_hashes/hash_list.txt
查找重復的哈希值:
sort /tmp/file_hashes/hash_list.txt | uniq -d
根據哈希值查找并刪除重復文件:
sort /tmp/file_hashes/hash_list.txt | uniq -d | cut -d ' ' -f 3- | while read file; do
echo "Duplicate found: $file"
# 刪除重復文件(保留第一個)
rm "$file"
done
rdupes
工具安裝rdupes
:
sudo apt-get install rdupes # Debian/Ubuntu
sudo yum install rdupes # CentOS/RHEL
sudo dnf install rdupes # Fedora
查找重復文件:
rdupes -r /path/to/search
刪除重復文件:
rdupes -rdN /path/to/search
fdupes
和rdupes
時,可以通過-n
選項來顯示文件名而不刪除,以便先檢查。find
和md5sum
方法時,確保你有足夠的權限來讀取和刪除文件。通過以上方法,你可以有效地清理Linux系統中的重復文件,釋放磁盤空間。