当前位置: 首页 > 科技观察

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

时间:2023-03-14 22:01:01 科技观察

在Linux中查找和删除重复文件的4种方法您可能会发现自己下载相同的mp3、pdf、zip(以及所有其他类型的文件扩展名)并将它们复制到其他目录。这可能导致目录充满各种无用的重复项。在本教程中,您将学习如何使用rdfind和fdupes命令行工具以及称为DupeGuru和FSlint的GUI工具在Linux中查找和删除重复文件。提醒一句-始终小心您在系统上删除的内容,因为这可能导致不必要的数据丢失。如果您使用的是新工具,请先在测试目录中试用,在该目录中删除文件不会出现问题。1.Rdfind——在Linux中查找重复文件Rdfind意为冗余数据查找(redundantdatafind),是一个免费开源的工具,通过访问目录和子目录来查找重复文件。它根据文件内容而不是文件名进行比较。Rdfind使用排序算法来区分原始文件和重复文件。如果您有两个或更多相同的文件,Rdfind将足够聪明地找到原始文件并将其余文件识别为重复文件。一旦找到重复文件,它就会向您报告。您可以决定是删除它们还是用硬链接或符号(软)链接替换它们。要在Linux中安装rdfind,请根据您的Linux发行版使用以下命令。$sudoapt-getinstallrdfind[在Debian/Ubuntu上]$sudoyuminstalllepel-release&&$sudoyuminstallrdfind[在CentOS/RHEL上]$sudodnfinstallrdfind[在Fedora22+上]$sudopacman-Srdfind[在ArchLinux上]要在目录上运行rdfind,只需键入rdfind和目标目录。下面是一个示例:linuxmi@linuxmi:~$rdfind/home/user如您所见,rdfind将结果保存在名为RESULTS.TXT的文件中,该文件位于您运行程序的目录中。此文件包含rdfind找到的所有重复文件。您可以查看文件并在必要时手动删除重复项。您可以做的另一件事是使用-dryruna选项,它会在不执行任何操作的情况下提供重复项列表:rdfind-dryruntrue/home/user一旦找到重复项,您可以选择用硬链接替换它。如果您想删除重复项,可以运行rdfind-makehardlinkstrue/home/user。rdfind-deleteduplicatestrue/home/user要查看rdfind的其他有用选项,请使用rdfind手册。manrdfind2.Fdupes–在Linux中扫描重复文件Fdupes是另一个允许您识别系统上重复文件的程序。它是免费和开源的,用C语言编写。它使用以下方法来识别重复文件:比较部分md5sum签名比较完整的md5sum签名逐字节比较验证就像rdfind,它有类似的选项:递归搜索排除空文件显示重复文件的大小立即删除重复项排除其他所有者的文件要在Linux中安装fdupes,请根据您的Linux发行版使用以下命令。$sudoapt-getinstallfdupes[在Debian/Ubuntu上]$sudoyuminstalllepel-release&&$sudoyuminstallfdupes[在CentOS/RHEL上]$sudodninstallfdupes[在Fedora22+上]$sudopacman-Sfdupes[在ArchLinux上]Fdupes语法类似于rdfind。只需键入命令,然后键入要扫描的目录。$fdupes

linuxmi@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-dFdupes将询问要删除哪些找到的文件。您将需要输入文件编号:fdupes-d/home/linuxmi/www.linuxmi.com/绝对不推荐使用的解决方案是使用-N选项,这将导致仅保留第一个文件。fdupes-dN有关与fdupes一起使用的可用选项列表,请通过运行查看帮助页面。fdupes-help3.dupeGuru–在Linux中查找重复文件dupeGuru是一个开源的跨平台工具,可用于在Linux系统中查找重复文件。该工具可以扫描文件名或一个或多个文件夹的内容。它还允许您找到与您正在搜索的文件相似的文件名。dupeGuru有适用于Windows、Mac和Linux平台的不同版本。其快速的模糊匹配算法功能可帮助您在短时间内找到重复文件。它是可定制的,您可以提取所需的确切重复文件并从系统中清除不需要的文件。要在Linux中安装dupeGuru,请根据您的Linux发行版使用以下命令。————在Debian/Ubuntu/Mint上——————$sudoadd-apt-repositoryppa:dupeguru/ppa$sudoapt-getupdate$sudoapt-getinstalldupeguru————在ArchLinux上————$sudopacman-SdupeguruUbuntu20.04安装dupeGuru参见http://www.linuxidc.net/thread-9837-1-1.html4.FSlint–Linux的重复文件查找器lint的一种形式。它还报告重复文件、空目录、临时文件、重复/冲突(二进制)名称、错误符号链接等。它具有命令行和GUI模式。要在Linux中安装FSlint,请根据您的Linux发行版使用以下命令。$sudoapt-getinstalldfslint[onDebian/Ubuntu]$sudoyuminstalllepel-release&&$sudoyuminstallfslint[onCentOS/RHEL]$sudoninstallfslint[onFedora22+]$sudopacman-Sfslint[onArchLinux]在Ubuntu20.04上安装FSlint的方法在http://www.linuxidc.net/thread-9836-1-1.html结论这些是在Linux系统上查找重复文件的非常有用的工具,但删除此类文件时应小心。如果您不确定是否需要某个文件,最好创建该文件的备份并在删除它之前记住它的目录。如果您有任何问题或意见,请在下面的评论部分提交。