在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系统中的重复文件,释放磁盘空间。