关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

VPS服务器:在Linux上识别同样内容的文件详解

发布时间:2020-04-05 13:15:30

VPS服务器:在Linux上识别同样内容的文件详解


有时文件副本相当于对硬盘空间的巨大浪费,并会在你想要更新文件时造成困扰。以下是用来识别这些文件。



用 diff 命令比较文件

可能比较两个文件最简单的方法是使用 diff 命令。输出会显示你文件的不同之处。 < 和 > 符号代表在当参数传过来的第一个( < )或第二个( > )文件中是否有额外的文字行。在这个例子中,在 backup.html 中有额外的文字行。


$ diff index.html backup.html

2438a2439,2441

> <pre>

> That's all there is to report.

> </pre>


如果 diff 没有输出那代表两个文件相同。

$ diff home.html index.html

$

diff 的唯一缺点是它一次只能比较两个文件并且你必须指定用来比较的文件,这篇帖子中的一些命令可以为你找到多个重复文件。


使用校验和

cksum (checksum) 命令计算文件的校验和。校验和是一种将文字内容转化成一个长数字(例如2819078353 228029)的数学简化。虽然校验和并不是完全独有的,但是文件内容不同校验和却相同的概率微乎其微。

$ cksum *.html

2819078353 228029 backup.html

4073570409 227985 home.html

4073570409 227985 index.html

在上述示例中,你可以看到产生同样校验和的第二个和第三个文件是如何可以被默认为相同的。


使用 find 命令

虽然 find 命令并没有寻找重复文件的选项,它依然可以被用来通过名字或类型寻找文件并运行 cksum 命令。例如:

$ find . -name "*.html" -exec cksum {} \;

4073570409 227985 ./home.html

2819078353 228029 ./backup.html

4073570409 227985 ./index.html




/template/Home/Zkeys2/PC/Static