小知识:大神教你在Linux中查找和删除重复文件的4种方法

如果您习惯于从网络下载各种内容,则整理您的主目录甚至系统可能会特别困难。

您可能会发现自己下载了相同的mp3,pdf,zip(以及所有其他类型的文件扩展名)并将其复制到其他目录。这可能会导致目录中充斥着各种无用的重复内容。

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-猿站网-插图

在本教程中,您将学习如何使用rdfind和fdupes命令行工具以及称为DupeGuru和FSlint的GUI工具在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 上] 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-1猿站网-插图

要在目录上运行rdfind,只需键入rdfind和目标目录。下面来看一个例子:

linuxmi@linuxmi:~$ rdfind /home/user 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-2猿站网-插图

正如你所看到rdfind将结果保存在一个文件名为RESULTS.TXT位于从那里你运行该程序的目录中。该文件包含rdfind找到的所有重复文件。您可以查看文件,并根据需要手动删除重复的文件。

您可以做的另一件事是使用-dryruna选项,该选项将提供重复项列表,而无需执行任何操作:

rdfind -dryrun true /home/user 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-3猿站网-插图

找到重复项后,您可以选择将其替换为硬链接。

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上] 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-4猿站网-插图

Fdupes语法类似于rdfind。只需键入命令,然后键入您要扫描的目录即可。

$ fdupes <dir> linuxmi@linuxmi:~$ fdupes /home/linuxmi/www.linuxmi.com  /home/linuxmi/www.linuxmi.com/linuxmi.txt  /home/linuxmi/www.linuxmi.com/linuxmi(复件).txt 

要递归地搜索文件,必须像这样指定-r选项。

$ fdupes -r <dir> linuxmi@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 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-5猿站网-插图

还可以指定多个目录,并指定递归搜索的目录。

fdupes <dir1> -r <dir2>

要使fdupes计算重复文件的大小,请使用该-S选项。

fdupes -S <dir>

要收集有关找到的文件的摘要信息,请使用-m选项。

fdupes -m <dir> fdupes -m /home/linuxmi/www.linuxmi.com/ 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-6猿站网-插图

最后,如果要删除所有重复项,请使用如下所示-d的选项。

fdupes -d <dir>

Fdupes将询问要删除哪些找到的文件。您将需要输入文件号:

fdupes -d /home/linuxmi/www.linuxmi.com/ 

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-7猿站网-插图

绝对不建议使用的解决方案是使用该-N选项,该选项将导致仅保留第一个文件。

fdupes -dN <dir>

要获取与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

%小知识:大神教你在Linux中查找和删除重复文件的4种方法-8猿站网-插图

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中查找和删除重复文件的4种方法-9猿站网-插图

结论

这些是在Linux系统上查找重复文件的非常有用的工具,但是删除此类文件时应格外小心。

如果不确定是否需要文件,最好创建该文件的备份,并在删除文件之前记住其目录。如果您有任何问题或意见,请在下面的评论部分中提交。

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:如何在 Linux 上扫描/检测新的 LUN 和 SCSI 磁盘

2023-5-5 7:04:57

建站知识

小知识:Linux安装SG11加密扩展组件教程

2023-5-5 7:21:58

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索