久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

在Linux上識別同樣內(nèi)容的文件詳解

2019-08-27 15:03:43 9587

在Linux上識別同樣內(nèi)容的文件詳解


有時文件副本相當(dāng)于對硬盤空間的巨大浪費,并會在你想要更新文件時造成困擾。以下是用來識別這些文件。



用 diff 命令比較文件

可能比較兩個文件最簡單的方法是使用 diff 命令。輸出會顯示你文件的不同之處。 < 和 > 符號代表在當(dāng)參數(shù)傳過來的第一個( < )或第二個( > )文件中是否有額外的文字行。在這個例子中,在 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 的唯一缺點是它一次只能比較兩個文件并且你必須指定用來比較的文件,這篇帖子中的一些命令可以為你找到多個重復(fù)文件。


使用校驗和

cksum (checksum) 命令計算文件的校驗和。校驗和是一種將文字內(nèi)容轉(zhuǎn)化成一個長數(shù)字(例如2819078353 228029)的數(shù)學(xué)簡化。雖然校驗和并不是完全獨有的,但是文件內(nèi)容不同校驗和卻相同的概率微乎其微。

$ cksum *.html

2819078353 228029 backup.html

4073570409 227985 home.html

4073570409 227985 index.html

在上述示例中,你可以看到產(chǎn)生同樣校驗和的第二個和第三個文件是如何可以被默認(rèn)為相同的。


使用 find 命令

雖然 find 命令并沒有尋找重復(fù)文件的選項,它依然可以被用來通過名字或類型尋找文件并運行 cksum 命令。例如:

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

4073570409 227985 ./home.html

2819078353 228029 ./backup.html

4073570409 227985 ./index.html


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: