fdupes 是 Linux 下通过内容比对查找并安全删除重复文件的命令行工具;需依发行版用 apt/dnf/pacman 安装,支持 - r 递归、- S 显大小、- f 忽略首文件等选项,推荐用 fdupes -rd 交互式删除以避免误删。

在 Linux 系统中,检测和处理重复文件是管理磁盘空间的常见需求。fdupes 是一个高效、可靠的命令行 工具,它通过比较文件内容(而非仅文件名)来精确找出重复项,能帮你快速释放被占用的空间。
安装 fdupes
fdupes 通常不在系统默认安装包中,需要使用包管理器手动安装。根据你的发行版选择对应命令:
– Debian/Ubuntu: sudo apt install fdupes
– CentOS/RHEL/Fedora: sudo dnf install fdupes (或 CentOS 7 用 yum)
– Arch Linux: sudo pacman -S fdupes
查找重复文件
安装完成后,就可以开始扫描了。核心命令是 fdupes [选项] [目录]。
常用选项让你更灵活地控制扫描过程:
- -r: 递归扫描该目录下的所有子目录。
- -S: 在结果中显示每个文件的大小,方便你判断。
- -f: 在列出重复组时,忽略每组中的第一个文件(常与删除操作配合)。
- -n: 忽略空文件(大小为 0 的文件)。
例如,要递归扫描“~/Downloads”目录并查看文件大小,运行:
fdupes -r -S ~/Downloads
输出会将内容相同的文件分成一组组列出,组与组之间用空行分隔,非常清晰。
安全地删除重复文件
找到重复文件后,下一步就是清理。直接删除有风险,fdupes 提供了两种安全的方式。
推荐先使用交互式删除,由你手动决定保留哪个:
fdupes -rd ~/your/directory
执行后,fdupes 会逐组列出文件,并给你编号。你可以输入想删除的文件编号,或者直接回车保留这组所有文件。这种方式最安全,避免误删重要数据。
如果你确定要自动删除,保留每组的第一个文件,可以使用:
fdupes -rdN ~/your/directory
这里 -d 表示删除,-N表示不提示,直接保留第一项并删除其余重复项。这个操作不可逆,请务必先确认好路径和内容。
基本上就这些,先预览再操作,就能轻松搞定重复文件。