ubuntu怎样删除重复文件
小樊
35
2025-11-16 07:18:57
Ubuntu 删除重复文件的实用方法
一 常用工具与安装
- 命令行工具:
- rdfind:按内容识别重复,能自动判定“原件”,支持生成结果清单、干跑、硬链接与删除重复项。
- fdupes:按内容识别重复,支持递归、大小统计、交互式删除。
- rmlint:高性能,支持生成删除脚本,适合大目录与批量清理。
- 图形界面工具:
- dupeGuru(标准版/音乐版/图片版):跨平台,支持模糊匹配与按类型清理。
- FSlint:带 GUI 与命令行,可查找重复文件等多种“lint”。
- 安装命令(Ubuntu/Debian):
- sudo apt update
- sudo apt install rdfind fdupes rmlint dupeguru fslint
- 建议:首次使用先在测试目录演练,避免误删。
二 命令行方法
- 使用 rdfind
- 扫描:rdfind /path/to/dir
- 干跑预览:rdfind -dryrun true /path/to/dir
- 结果文件:当前目录生成 RESULTS.TXT,可人工核对
- 删除重复(保留“原件”):rdfind -deleteduplicates true /path/to/dir
- 用硬链接替代重复(节省空间):rdfind -makehardlinks true /path/to/dir
- 使用 fdupes
- 递归扫描:fdupes -r /path/to/dir
- 显示大小/摘要:fdupes -S / fdupes -m
- 交互式删除:fdupes -d /path/to/dir(会列出每组编号,按需保留)
- 自动保留首个并删除其余(慎用):fdupes -dN /path/to/dir
- 使用 rmlint(生成脚本更安全)
- 扫描并生成清理脚本:rmlint /path/to/dir -o sh:rm.sh
- 查看报告:less rmlint.json
- 确认无误后执行脚本:bash rm.sh
- 不装软件的原生命令组合(按 MD5 去重)
- 预览重复文件列表:
- find /path -type f -exec md5sum {} + | sort | uniq -w32 -dD
- 删除重复(保留每组第一个,谨慎):
- find /path -type f -exec md5sum {} + | sort | uniq -w32 -dD | cut -d’ ’ -f3- | xargs rm -v
- 提示:对含重要数据的目录,优先用交互式或生成脚本方式,避免直接删除。
三 图形界面方法
- dupeGuru
- 安装:sudo apt install dupeguru
- 启动后“+”添加目录,点击“扫描”,在结果中勾选要处理的文件,执行“移动至回收站/删除”。可按需安装音乐版(dupeguru-me)或图片版(dupeguru-pe)以获得更精细的比对维度(如比特率、时长、分辨率)。
- FSlint
- 安装:sudo apt install fslint
- 运行后在“Duplicates”页扫描目录,按界面选项删除或移回收站。
四 安全与效率建议
- 先备份关键数据;优先在副本/测试目录验证命令与流程。
- 删除前确认“保留件”的时间戳、路径、版本是否符合预期;对重要资料使用“移到回收站”而非直接 rm。
- 大目录优先用rmlint生成脚本,便于复核后再批量执行。
- 若只是节省空间且文件不应改动,考虑用硬链接替代重复(rdfind -makehardlinks true),既去重又保留所有引用。
- 扫描时排除版本控制目录(如 .git)、缓存与系统目录,减少噪声与风险。