蚊章汇 - fdupes
type: channel
link: https://linuxcn.bwsl.wang/tag/fdupes/
items: fdupes：Linux 中查找并删除重复文件的命令行工具

fdupes：Linux 中查找并删除重复文件的命令行工具
type: item
date: 2015-09-01T22:13:00+08:00
description: 对于大多数计算机用户而言，查找并替换重复的文件是一个常见的需求。查找并移除重复文件真是一项令人不胜其烦的工作，它耗时又耗力。但如果你的机器上跑着GNU/Linux，那么查找重复文件会变得十分简单，这多亏了fdupes工具。fdupes——在Linux中查找并删除重复文件fdupes是啥东东？fdupes是Linux下的一个工具，它由Adrian Lopez用C编程语言编写并基于MIT许可证发行，该应用程序可以在指定的目录及子目录中查找重复的文件。fdupes通过对比文件的MD5签名，以及逐字节比较文件来识别重复内容，fdupes有各种选项，可以实现对文件的列出、删除、替换为文件副本的硬链接等操作。文件对比以下列顺序开始：大小对比 > 部分 MD5 签名对比 > 完整 MD5 签名对比 > 逐字节对比安装 fdupes 到 Linux在基于Debian的系统上，如Ubuntu和Linux Mint，安装最新版fdupes，用下面的命令手到擒来。$ sudo apt-get install fdupes 在基于CentOS/RHEL和Fedora的系统上，你需要开启epel仓库来安装fdupes包。# yum install fdupes # dnf install fdupes [在 Fedora 22 及其以后] 注意：自Fedora 22之后，默认的包管理器yum被dnf取代了。fdupes命令如何使用1、 作为演示的目的，让我们来在某个目录（比如 tecmint）下创建一些重复文件，命令如下：$ mkdir /home/"$USER"/Desktop/tecmint && cd /home/"$USER"/Desktop/tecmint && for i in {1..15}; do echo "I Love Tecmint. Tecmint is a very nice community of Linux Users." > tecmint${i}.txt ; done 在执行以上命令后，让我们使用ls命令验证重复文件是否创建。$ ls -l total 60 -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint10.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint11.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint12.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint13.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint14.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint15.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint1.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint2.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint3.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint4.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint5.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint6.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint7.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint8.txt -rw-r--r-- 1 tecmint tecmint 65 Aug 8 11:22 tecmint9.txt 上面的脚本创建了15个文件，名称分别为tecmint1.txt，tecmint2.txt……tecmint15.txt，并且每个文件的数据相同，如"I Love Tecmint. Tecmint is a very nice community of Linux Users." 2、 现在在tecmint文件夹内搜索重复的文件。$ fdupes /home/$USER/Desktop/tecmint /home/tecmint/Desktop/tecmint/tecmint…