Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

如果Linux系统中存在大量重复文件,管理文件可能是一项复杂的任务,大量重复文件占用存储空间可能导致磁盘已满问题。

处理重复文件的最简单方法当然是手动定位并删除它们,但往往这种方法非常繁琐,假如能够使用命令去查找和删除重复文件可以大大简化该过程。

今天小编教大家三招解决这个问题!

1. Fslint

这个命令可以彻底搜索和删除重复文件、临时文件、空文件夹并释放磁盘空间。

Fslint 带有 GUI 和 CLI 模式,使其更易于使用。

安装该命令工具非常简单:

yum install epel-releaseyum install fslint

如下图

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

安装yum install fslint所需要的时间比较长,所以大家最好加一下-y

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

到这里就显示安装成功了!

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

安装完成后,在应用程序中查找 fslink,输入扫描文件的目录并勾选递归选项以递归方式扫描子目录中的文件,扫描完成后,单击删除以远程删除重复文件。

由于这个工具需要用到gui界面,我这个服务器是最小安装,没有界面,这边就不给大家演示了,大家有兴趣可以自行使用。

2. Rdfind

rdfind 是一个开源且免费的实用工具,用于查找重复文件。它根据内容比较文件,并使用分类算法区分原始文件和重复文件,一旦找到重复的文件,它就会提供一份报告作为结果。

安装命令也非常简单:

yum install rdfind

如下图: Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

看到“Complete!”就代表安装成功!

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

rdfind使用方法也非常简单,只需要:

rdfind <路径>

为了演示,我们造2个重复文件:

mkdir rdfind1 rdfind1/rdfind2cd rdfind1echo -e  "111" >> test.txtcp test.txt rdfind2/
Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

然后我们用rdfind查一下重复文件:

rdfind rdfind1/
Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

如上图,这个命令的强大之处就是可以生成一个分析报告,在执行命令的当前目录会生成一个名为 results.txt 的报告文件

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

我们来看一下这个文件:

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

咋样,是不是很好用!

3. Fdupes

Fdupes 是 Linux 系统中另一个有用的实用工具,也是免费和开源的,用 C 编程语言编写。

此实用工具通过比较文件大小、部分 MD5 签名、完整 MD5 签名和逐字节比较进行验证来识别重复文件。

安装也同样非常简单:

yum install fdupes
Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

fdupes使用方法和rdfind一样,后面加一个路径就可以了!

$ fdupes <路径>

还是刚刚创建的文件:

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

如上图,我们先执行fdupes rdfind1/命令,没有任何输出提示,是因为这个命令只会查询rdfind1目录下的重复文件,即使是子目录中有重复的文件也不会输出。

我又在rdfind1目录下建了一个同样内容的文件,再次执行fdupes rdfind1/命令就很好的显示重复文件了。

如果想要查询子目录中的重复文件也非常简单,只要加个-r参数即可。

fdupes -r rdfind1/

此时就会输出子目录中的重复文件了:

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!
删除重复文件

查是查出来了,如何删除重复文件呢?

其实这个也非常简单,只需加一个-d参数即可。

还是同样道理,加-r才会遍历删除子目录的重复文件!

fdupes -dr rdfind1/

在开始之前,我们先来看一下目前的重复文件的目录结构:

tree rdfind1/
Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

然后执行删除命令:

fdupes -dr rdfind1/
Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

这个时候让你选择保留哪个文件,因为既然是重复的文件,使用者肯定只想删除其他重复的,保留其中一个,那么我们选择保留rdfind1目录下的test.txt:

Linux中如何查找和删除重复文件?这3个命令简直好用的不要不要的!

这个时候,我们就看到了只有rdfind1目录下的test.txt被保留,其他的都删除了。

怎么样,三个删除重复文件的大招,你学废了嘛?

THE END
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容