linux

Linux清理重复文件的工具

小樊
34
2025-08-02 03:44:26
栏目: 智能运维

在Linux系统中,有多种工具可以帮助您清理重复文件。以下是一些常用的命令行和图形界面工具:

命令行工具

  1. rdfind

    • 功能:跨目录搜索重复文件。
    • 安装:根据Linux发行版使用相应的包管理器安装。
      • Debian/Ubuntu: sudo apt install rdfind
      • RHEL/CentOS/Fedora: sudo yum install rdfind
      • Gentoo: sudo emerge -a sys-apps/rdfind
      • Alpine Linux: sudo apk add rdfind
      • Arch Linux: sudo pacman -S rdfind
      • OpenSUSE: sudo zypper install rdfind
    • 使用rdfind /home/user 会列出所有重复文件。
  2. fdupes

    • 功能:专业重复文件查找器。
    • 安装
      • Debian/Ubuntu: sudo apt install fdupes
      • Fedora: sudo dnf install fdupes
      • CentOS/RHEL: sudo yum install fdupes
      • Arch Linux: sudo pacman -S fdupes
    • 使用
      • 递归扫描并列出重复项:fdupes -r ~/Downloads
      • 删除重复文件:fdupes -rdN ~/Documents
  3. rmlint

    • 功能:高性能清理工具,支持多线程加速和多种删除策略。
    • 安装
      • sudo apt install rmlint
      • 或从源码编译安装。
    • 使用
      • 快速扫描:rmlint /data/photos
      • 生成清理脚本:./rmlint.sh -d
      • 预览:./rmlint.sh -do /backup
      • 执行清理。
  4. find + md5sum

    • 功能:临时检测重复文件,适用于无root权限环境。
    • 使用
      • 生成文件哈希列表:find ~/Documents -type f -exec md5sum {} + > hashes.txt
      • 提取重复项:cut -d' ' -f1 hashes.txt | sort | uniq -d > dup_hashes.txt
      • 定位重复文件:while read hash; do grep "^$hash" hashes.txt; done < dup_hashes.txt
      • 交互式删除:awk '{print $2}' duplicates.txt | xargs -I {} rm -i {}

图形界面工具

  1. Dupeguru

    • 功能:直观的可视化操作,支持多条件过滤。
    • 安装:适用于Ubuntu,通过添加PPA安装。
    • 使用:选择扫描类型、设置匹配精度、预览结果并自定义保留策略、批量移动/删除操作。
  2. Czkawka

    • 功能:图形化操作,支持多条件过滤。
    • 安装
      • 下载并解压:wget https://github.com/qarmin/czkawka/releases/download/7.0.0/czkawka-gui_linux.tar.gz && tar -xzvf czkawka-gui_linux.tar.gz ./czkawka_gui
    • 使用:选择扫描类型、设置匹配精度、预览结果并自定义保留策略、批量移动/删除操作。

在使用这些工具时,请务必小心谨慎,尤其是在删除文件之前。建议先在一个测试文件夹中进行尝试,以避免误删重要文件。

0
看了该问题的人还看了