温馨提示×

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)、缓存与系统目录,减少噪声与风险。

0