fdupes 是 Linux 下用于查找和删除重复文件的高效工具,通过比较文件大小和 MD5 签名识别重复内容。需通过包管理器安装,如 Ubuntu 使用 sudo apt install fdupes。基本用法为 fdupes /path/to/directory,常用选项包括 -r(递归扫描)、-S(显示大小)、-f(忽略每组首个文件)、-d(交互式删除)。推荐先预览结果再删除,避免误操作。可结合 find 限制文件类型或导出结果到文件,适用于文档、照片等去重场景。面对大量文件时性能可能受限,可考虑 fclones 或 duff 作为替代。关键步骤:先查重,再删除,确保数据安全。
在Linux中处理重复文件时,fdupes 是一个简单高效的命令行工具,能帮助你快速查找并删除重复文件,释放磁盘空间。它通过比较文件的大小和MD5签名来识别内容完全相同的文件,适合用于整理文档、照片、下载目录等场景。
安装 fdupes
fdupes 并非所有Linux发行版默认安装,可通过包管理器轻松获取:
Ubuntu/Debian:
sudo apt install fdupes
CentOS/RHEL(需启用 EPEL):
sudo yum install epel-release && sudo yum install fdupes
Fedora:
sudo dnf install fdupes
Arch Linux:
sudo pacman -S fdupes
基本用法:查找重复文件
使用 fdupes 最基础的命令是扫描某个目录中的重复文件:
fdupes /path/to/directory
例如,扫描家目录下的重复文件:
fdupes ~/Documents
输出会列出所有内容重复的文件组,每组文件以空行分隔。
常用选项增强功能:
-
-r
:递归扫描子目录
-
-f
:忽略一个文件组中第一个重复项(常用于删除时保留一份)
-
-d
:显示重复文件,并提示是否删除(交互式)
-
-n
:忽略空文件
-
-S
:显示每个文件的大小
示例:递归查找并显示文件大小
fdupes -r -S ~/Downloads
去重操作:删除重复文件
使用
-d
参数可以交互式删除重复文件,系统会保留第一个,其余可选择删除:
fdupes -rd ~/Pictures
执行后,fdupes 会列出每组重复文件,编号显示,你可以输入数字删除指定文件,或按回车保留所有。
若想自动删除所有重复项(除每组第一个外),可结合标准输入:
fdupes -r -f . | tr 'n' ' ' | xargs -0 rm
⚠️ 警告:此操作不可逆,请先备份重要数据或使用 -d 交互模式确认。
实用技巧与注意事项
fdupes 适合中小规模文件去重,面对大量文件时可能较慢。建议:
- 先用
fdupes -r path
查看结果,确认无误再执行删除
- 结合 find 使用,限定文件类型,如只查图片:
- 将结果输出到文件以便审查:
find ~/Pictures -type f $$ -name "*.jpg" -o -name "*.png" $$ -exec fdupes -r {} +
fdupes -r ~/data > duplicates.txt
如果 fdupes 性能不足,可考虑替代工具如 fclones 或 duff,它们支持更高效的去重策略。
基本上就这些。fdupes 简单直接,适合日常使用,掌握几个关键参数就能高效管理重复文件。不复杂但容易忽略的是:别忘了先预览,再删除。
linux centos ubuntu 工具 dnf Directory 递归 tr linux ubuntu centos debian