Linux中如何查找和删除重复文件
本篇文章给大家分享的是有关Linux中如何查找和删除重复文件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
为光山等地区用户提供了全套网页设计制作服务,及光山网站建设行业解决方案。主营业务为网站设计制作、成都网站制作、光山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
1. Rdfind –在Linux中查找重复文件
Rdfind 意即 redundant data find(冗余数据查找),是一个通过访问目录和子目录来找出重复文件的自由开源的工具。它是基于文件内容而不是文件名来比较。Rdfind 使用排序算法来区分原始文件和重复文件。如果你有两个或者更多的相同文件,Rdfind 会很智能的找到原始文件并认定剩下的文件为重复文件。一旦找到副本文件,它会向你报告。你可以决定是删除还是使用硬链接或者符号(软)链接代替它们。
要在Linux中安装rdfind,请根据您的Linux发行版使用以下命令。
$ sudo apt-get install rdfind [在 Debian/Ubuntu 上] $ sudo yum install epel-release && $ sudo yum install rdfind [在 CentOS/RHEL 上] $ sudo dnf install rdfind [在 Fedora 22+ 上] $ sudo pacman -S rdfind [在 Arch Linux 上]
要在目录上运行rdfind,只需键入rdfind和目标目录。下面来看一个例子:
linuxmi@linuxmi:~$ rdfind /home/user
正如你所看到rdfind将结果保存在一个文件名为RESULTS.TXT位于从那里你运行该程序的目录中。该文件包含rdfind找到的所有重复文件。您可以查看文件,并根据需要手动删除重复的文件。
您可以做的另一件事是使用-dryruna选项,该选项将提供重复项列表,而无需执行任何操作:
rdfind -dryrun true /home/user
找到重复项后,您可以选择将其替换为硬链接。
rdfind -makehardlinks true /home/user
如果您希望删除重复项,则可以运行。
rdfind -deleteduplicates true /home/user
要查看rdfind的其他有用选项,可以使用rdfind手册。
man rdfind
2. Fdupes –在Linux中扫描重复文件
Fdupes是另一个程序,它使您可以识别系统上的重复文件。它是免费的并且是开源的,并且使用C语言编写。它使用以下方法来确定重复的文件:
比较部分md5sum签名
比较完整的md5sum签名
逐字节比较验证
就像rdfind一样,它具有类似的选项:
递归搜索
排除空文件
显示重复文件的大小
立即删除重复项
排除其他所有者的文件
要在Linux中安装fdupes,请根据Linux发行版使用以下命令。
$ sudo apt-get install fdupes [在Debian / Ubuntu上] $ sudo yum install epel-release && $ sudo yum install fdupes [在CentOS / RHEL上] $ sudo dnf install fdupes [在Fedora 22+上] $ sudo pacman -S fdupes [在Arch Linux上]
Fdupes语法类似于rdfind。只需键入命令,然后键入您要扫描的目录即可。
$ fdupeslinuxmi@linuxmi:~$ fdupes /home/linuxmi/www.linuxmi.com /home/linuxmi/www.linuxmi.com/linuxmi.txt /home/linuxmi/www.linuxmi.com/linuxmi(复件).txt
要递归地搜索文件,必须像这样指定-r选项。
$ fdupes -rlinuxmi@linuxmi:~$ fdupes -r /home/linuxmi/www.linuxmi.com /home/linuxmi/www.linuxmi.com/linuxmi.txt /home/linuxmi/www.linuxmi.com/linuxmi(复件).txt /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/remotes/origin/HEAD /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/refs/heads/master /home/linuxmi/www.linuxmi.com/color-schemes/.git/logs/HEAD /home/linuxmi/www.linuxmi.com/color-schemes/script/test /home/linuxmi/www.linuxmi.com/test
还可以指定多个目录,并指定递归搜索的目录。
fdupes-r
要使fdupes计算重复文件的大小,请使用该-S选项。
fdupes -S
要收集有关找到的文件的摘要信息,请使用-m选项。
fdupes -mfdupes -m /home/linuxmi/www.linuxmi.com/
最后,如果要删除所有重复项,请使用如下所示-d的选项。
fdupes -d
Fdupes将询问要删除哪些找到的文件。您将需要输入文件号:
fdupes -d /home/linuxmi/www.linuxmi.com/
绝对不建议使用的解决方案是使用该-N选项,该选项将导致仅保留第一个文件。
fdupes -dN
要获取与fdupes一起使用的可用选项的列表,请通过运行查看帮助页面。
fdupes -help
3. dupeGuru –在Linux中查找重复文件
dupeGuru是一个开放源代码和跨平台的工具,可用于在Linux系统中查找重复文件。该工具可以扫描文件名或一个或多个文件夹中的内容。它还允许您找到与要搜索的文件相似的文件名。
dupeGuru有适用于Windows,Mac和Linux平台的不同版本。它的快速模糊匹配算法功能可帮助您在短时间内找到重复的文件。它是可自定义的,您可以提取所需的确切重复文件,并从系统中清除不需要的文件。
要在Linux中安装dupeGuru,请根据您的Linux发行版使用以下命令。
————— 在 Debian/Ubuntu/Mint 上————— $ sudo add-apt-repository ppa:dupeguru/ppa $ sudo apt-get update $ sudo apt-get install dupeguru ————— 在 Arch Linux 上————— $ sudo pacman -S dupeguru
Ubuntu 20.04 安装 dupeGuru 见 http://www.linuxidc.net/thread-9837-1-1.html
4. FSlint – Linux的重复文件查找器
FSlint是一个免费实用程序,用于查找和清除文件系统上各种形式的皮棉。它还报告重复文件,空目录,临时文件,重复/冲突(二进制)名称,错误的符号链接等。它同时具有命令行和GUI模式。
要在Linux中安装FSlint,请根据Linux发行版使用以下命令。
$ sudo apt-get install fslint [在 Debian/Ubuntu 上] $ sudo yum install epel-release && $ sudo yum install fslint [在 CentOS/RHEL 上] $ sudo dnf install fslint [在 Fedora 22+ 上] $ sudo pacman -S fslint [在 Arch Linux 上]
Ubuntu 20.04 安装 FSlint 的方法见 http://www.linuxidc.net/thread-9836-1-1.html
以上就是Linux中如何查找和删除重复文件,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注创新互联行业资讯频道。
文章名称:Linux中如何查找和删除重复文件
浏览路径:http://ybzwz.com/article/jejeeo.html