如何识别Linux上的相同内容文件

文件的副本有时代表的磁盘空间,一个很大的浪费,并可能导致混乱,如果你想进行更新。这里有六个命令,以帮助您识别这些文件。

在最近的文章中,我们讨论了如何识别和定位文件的硬链接(即。,that point to the same disk content and share inodes). In this post, we'll check out commands for finding files that have the same内容,但在其他方面没有联系。

硬链接是有用的,因为它们允许文件在文件系统中的多个地方存在,而没有采取任何额外的磁盘空间。文件的副本,而另一方面,有时代表的磁盘空间大的浪费和运行,如果你想更新造成了一些混乱的一些风险。在这篇文章中,我们将看看多种方式来识别这些文件。

使用diff命令比较文件

可能是比较两个文件的最简单的方法是使用diff命令。输出将显示这两个文件之间的差异。<和>符号表示额外的行是作为参数提供的第一个(<)文件还是第二个(>)文件。在本例中,额外的行位于backup.html中。

$差异的index.html backup.html 2438a2439,2441> 
>这是所有有报告。> 

如果DIFF没有显示输出,这意味着这两个文件是相同的。

$ DIFF Home.html中的index.html $

唯一的缺点是差异,它只能在一个时间比较两个文件,你必须找出文件比较。一些命令,我​​们将看看在这个岗位可以找到重复的文件给你。

使用校验和

校验和(校验)命令计算校验和文件。校验和是一个数学简化的内容到一个冗长数字(如2819078353 228029)。虽然不是绝对唯一的,即不在内容完全相同的文件,会导致相同的校验的几率是非常小的。

$校验和*。html的2819078353 228029 backup.html 4073570409 227985 home.html的4073570409 227985的index.html

在上面的例子中,可以看到在第二和第三文件如何产生相同校验和可以被假设为是相同的。

使用find命令

虽然find命令没有查找重复文件的选项,它可以用来按名称搜索文件或键入并运行校验和命令。例如:

$发现。-name “* html的” 校验和-exec {} \;4073570409 227985 ./home.html 2819078353 228029 ./backup.html 4073570409 227985 ./index.html

使用fslint命令

fslint命令可以用来专门查找重复文件。请注意,我们给它一个起始位置。该命令可能需要相当长的时间来完成,如果它需要通过运行大量文件。下面是从一个很不起眼的搜索输出。注意它是如何列出了重复的文件,并寻找其他的问题,如空目录和坏的ID。

$ fslint。-----------------------------------文件名皮棉-------------------------------无效UTF8名-----------------------------------文件的情况下皮棉----------------------------------重复文件<==Home.html中的index.html -----------------------------------晃晃悠悠的链接--------------------在链路冗余字符------------------------------------可疑链接--------------------------------空目录./.gnupg ----------------------------------临时文件----------------------duplicate /冲突的名字------------------------------------------坏的标识 -------------------------非剥离可执行文件

您可能必须安装fslint在您的系统上。你可能需要把它添加到你的搜索路径,以及:

$出口PATH = $ PATH:的/ usr /共享/ fslint / fslint

使用rdfind命令

rdfind命令还将寻找重复的(相同内容的)文件。这个名字代表了“冗余数据发现,”并且命令能够确定,基于文件的日期,哪些文件是正本 - 如果你选择删除重复的,因为它会删除较新的文件是有帮助的。

$ rdfind〜现在扫描 “/家/鲨鱼”,发现了12个文件。现在总共有12个文件。删除1个文件,由于非唯一的设备和节点。总大小为699498个字节或683昆明植物移除9个文件,由于从list.2文件大小独特离开。现在,基于第一字节消除考生:删除从list.2文件0文件离开了。现在,基于上次字节消除考生:删除从list.2文件0文件离开了。现在,基于SHA1校验消除考生:删除从list.2文件0文件离开了。好像你有2个文件,这些文件不是唯一的完全,223昆明植物可以减少。现在,让结果文件RESULTS.TXT

你也可以在“dryrun”中运行这个命令。,only report the changes that might otherwise be made).

正确~ (DRYRUN模式)现在扫描“/home/shark”,找到12个文件。(试运行模式)现在共有12个文件。(DRYRUN模式)删除了1个文件由于非唯一的设备和inode。(DRYRUN模式)总大小为699352字节或683 KiB删除9个文件由于独特的大小从列表。2文件了。(DRYRUN模式)现在消除基于第一个字节的候选:从列表中删除0个文件。2文件了。(DRYRUN模式)现在消除候选基于最后的字节:从列表中删除0个文件。2文件了。(试运行模式)现在消除候选人基于sha1校验和:从列表中删除0个文件。2文件了。(干式模式)似乎你有两个文件不是唯一的(干式模式),共223个KiB可以减少。(试运行模式)现在使结果文件的结果。txt

该rdfind命令还提供了事物的选项,如忽略空文件(-ignoreempty)和以下符号链接(-FollowSymLinks)。退房的手册页解释。

-ignoreempty忽略空文件-minsize忽略小于speficied尺寸-FollowSymLinks符号链接-removeidentinode删除文件指的是相同的inode -checksum识别校验和类型使用-deterministic determiness如何排序文件-makesymlinks把重复的文件转换为符号链接文件 -makehardlinks更换硬链接-makeresultsfile创建在当前目录-outputname为结果提供名称的结果文件中的重复文件的文件-deleteduplicates删除/取消关联重复文件-sleep设定的睡眠时间阅读文件(毫秒)-n,-dryrun显示会是什么之间已经完成,但不这样做

请注意,rdfind命令提供了一个选项,删除与重复的文件-deleteduplicates真实设置。希望该命令的语法与适度的问题,不会刺激你。;-)

$ rdfind -deleteduplicates如此。...删除1个文件。<==

您可能需要在系统上安装rdfind命令。尝试使用它来熟悉它的工作方式可能是一个好主意。

使用fdupes命令

fdupes命令还可以很容易地识别重复的文件,并提供大量有用的选项-喜欢-r递归。在最简单的形式,它群组之间复制文件一起这样的:

$ fdupes ~ /home/shs/UPGRADE /home/shs/mytwin /home/shs/lp.txt /home/shs/lp.man /home/shs/penguin.png /home/shs/penguin.png /home/shs/hide .png

下面是一个使用递归的例子。注意,许多重复的文件很重要(用户的.bashrc和.profile文件),显然不应该删除。

# fdupes -r /home/ home/shark/home.html /home/shark/index.html /home/dory/。bashrc /home/eel/. (bashrc /home/nemo/. (概要/home/dory/.概要/home/shark/.概要/home/nemo/tryme /home/shs/tryme /home/shs/arrow.png /home/shs/PNGs/arrow.png /home/shs/11/files_11.zip /home/shs/ERIC/file_11.zip /home/shs/penguin0.jpg /home/shs/PNGs/penguin.jpg /home/shs/PNGs/penguin0.jpg /home/shs/Sandra_rotated.png /home/shs/PNGs/Sandra_rotated.png

下面列出了fdupe命令的许多选项。使用fdupes - h命令,或阅读手册页了解更多详情。

-r—recurse -r—recurse:遍历指定目录- s -符号链接跟随符号链接目录- h -硬连接治疗硬链接,复制- n - noempty忽略空文件- f - omitfirst省略第一个文件在每组比赛————nohidden忽略隐藏文件1——sameline列表匹配一行上的s -复制文件的大小显示大小- m -总结总结重复的文件信息- q——安静隐藏进度- d——删除提示用户输入文件保存- n noprompt时使用——删除,保留第一个文件在集-I -立即删除重复,因为他们遇到-p -权限不soncider文件与不同的所有者/组或权限位作为重复-o -order=WORD order文件根据规范-I -反向反向顺序排序-v -版本显示fdupes版本-h -帮助显示帮助

fdupes命令是另一个您可能需要安装并使用一段时间才能熟悉其众多选项的命令。

包起来

Linux系统定位和潜在的删除重复文件,与您要运行搜索,你想要做重复的文件时,你会发现他们有什么选项一起提供的工具,一个很好的选择。

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对那些顶级心态的话题发表评论。
相关:

版权©2019Raybet2

IT薪资调查:结果在