在Linux中查找重复文件有多种方法,以下是几种常用的方法:
fdupes
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 -r -N /path/to/search
-N
选项显示文件名和大小。
删除重复文件(谨慎操作):
fdupes -r -d /path/to/search
-d
选项会提示你是否删除重复文件。
find
和md5sum
这种方法通过计算文件的MD5哈希值来查找重复文件。
创建一个临时目录:
mkdir /tmp/duplicates
查找并计算MD5哈希值:
find /path/to/search -type f -exec md5sum {} \; | sort | uniq -d -w 32
这条命令会列出所有重复文件的路径。
find
和comm
这种方法通过比较两个文件列表来查找重复文件。
创建两个文件列表:
find /path/to/search -type f -print0 | sort -z > filelist1.txt
find /path/to/search -type f -exec md5sum {} \; | sort -z > filelist2.txt
使用comm
查找重复文件:
comm -12 <(cut -d' ' -f3 filelist1.txt) <(cut -d' ' -f3 filelist2.txt)
这条命令会列出所有重复文件的路径。
rdup
rdup
是一个强大的备份和去重工具,也可以用来查找重复文件。
安装rdup
:
sudo apt-get install rdup # Debian/Ubuntu
sudo yum install rdup # CentOS/RHEL
sudo dnf install rdup # Fedora
查找重复文件:
rdup -r --dry-run /path/to/search | grep "Duplicate files"
--dry-run
选项表示只显示重复文件而不实际删除。
通过以上方法,你可以在Linux系统中有效地查找和处理重复文件。