
在Linux中快速查找重复文件,关键在于使用合适的工具和命令组合。最有效的方法是通过文件内容的哈希值来识别重复项,而不是仅依赖文件名或大小。下面介绍几种实用的方法。
使用fdupes命令
fdupes 是一个专门用于查找重复文件的工具,它通过比较文件内容的MD5签名来识别重复项。
- 安装 fdupes(Debian/Ubuntu):
sudo apt install fdupes - 基本用法:
fdupes /path/to/directory - 递归查找并按组显示:
fdupes -r /home/user/Documents - 只显示包含重复文件的组:
fdupes -rd /path
使用find与md5sum组合
如果系统没有安装专用工具,可以用 find 和 md5sum 配合脚本逻辑实现。
- 生成所有文件的MD5值:
find /path -type f -exec md5sum {} ; - 排序并找出重复项:
find /path -type f -exec md5sum {} ; | sort | uniq -d -w32 - 说明:-w32 表示按前32个字符(即MD5值)判断是否重复
使用jdupes(fdupes的增强版)
jdupes 是 fdupes 的更快版本,支持多线程和更高效的比对算法。
- 安装 jdupes(部分发行版提供):
sudo apt install jdupes - 用法类似 fdupes:
jdupes -r /path/to/search - 可结合 delete 选项交互删除重复文件:
jdupes -r -d /path
小技巧与注意事项
实际使用时注意以下几点以提高效率和安全性。
- 先在小范围目录测试命令,避免误操作大量文件
- 可以加 size 过滤避免扫描极小文件:
find /path -type f -size +1k - 对大容量数据建议重定向输出结果供后续分析:
fdupes /path/to/directory0 - 不要直接批量删除,先查看确认重复文件内容是否真的相同
基本上就这些。选择 fdupes 或 jdupes 是最省事的方式,而 find + md5sum 组合适用于无额外依赖的环境。关键是根据目录规模和系统条件选择合适方法。
linux ubuntu 工具 sort Directory 递归 线程 多线程 delete 算法 linux ubuntu debian


