checksum命令 linux_初学者的Linux md5sum命令解释(5个例子)

初学者的Linux md5sum命令解释(5个例子)

在下载文件时,尤其是从网站安装文件时,验证下载是否有效是个好主意。 网站通常会为每个文件显示一个散列值,以便确保下载正确完成。 在本文中,我们将讨论可用于验证下载的md5sum工具。 其他两个工具sha256sum和sha512sum的工作方式与md5sum相同。

Linux md5sum命令

md5sum命令使用MD5算法打印给定文件的32个字符(128位)校验和。 以下是这个命令行工具的命令语法:

md5sum [OPTION]... [FILE]...

以下是md5sum的手册页是如何解释的:Print or check MD5 (128-bit) checksums.

下面的Q&A样式的例子会给你一个关于md5sum基本用法的更好的概念。

注意:在我们的示例中,我们将使用三个名为file1.txt,file2.txt和file3.txt的文件作为输入文件。 下面列出了每个文件中的文本。

FILE1.TXT:hi

hello

how are you

thanks.

FILE2.TXT:hi

hello to you

I am fine

Your welcome!

file3.txt:hallo

Guten Tag

Wie geht es dir

Danke.

Q1。 如何显示哈希值?

使用没有任何选项的命令来显示散列值和文件名。

md5sum file1.txt

以下是我们系统上生成的这个命令的输出:[Documents]$ md5sum file1.txt

1ff38cc592c4c5d0c8e3ca38be8f1eb1 file1.txt

[Documents]$

输出也可以使用--tag选项以BSD格式显示。

md5sum --tag file1.txt[Documents]$ md5sum --tag file1.txt

MD5 (file1.txt) = 1ff38cc592c4c5d0c8e3ca38be8f1eb1

[Documents]$

Q2。 如何验证多个文件?

md5sum命令可以一次验证多个文件。 我们将添加file2.txt和file3.txt来演示功能。

如果将散列写入文件,则可以使用该文件检查是否有任何文件已更改。 在这里,我们将文件的散列写入文件散列,然后使用它来验证没有任何文件已经改变。

md5sum file1.txt file2.txt file3.txt > hashes

md5sum --check hashes[Documents]$ md5sum file1.txt file2.txt file3.txt > hashes

[Documents]$ md5sum --check hashes

file1.txt: OK

file2.txt: OK

file3.txt: OK

[Documents]$

现在我们将更改file3.txt,在文件末尾添加一个感叹号,然后重新运行该命令。

echo "!" >> file3.txt

md5sum --check hashes[Documents]$ md5sum --check hashes

file1.txt: OK

file2.txt: OK

file3.txt: FAILED

md5sum: WARNING: 1 computed checksum did NOT match

[Documents]$

你可以看到file3.txt已经改变了。

Q3。 如何只显示修改过的文件?

如果您有许多文件需要检查,您可能只想显示已更改的文件。 使用“--quiet”选项,md5sum将只列出已经改变的文件。

md5sum --quiet --check hashes[Documents]$ md5sum --quiet --check hashes

file3.txt: FAILED

md5sum: WARNING: 1 computed checksum did NOT match

[Documents]$

Q4。 如何检测脚本中的更改?

您可能想要在脚本中使用md5sum。 使用“--status”选项,md5sum将不会打印任何输出。 相反,如果没有更改,状态码将返回0,如果文件不匹配,则返回1。 以下脚本hashes.sh将在状态码中返回1,因为文件已经更改。 脚本文件如下:

sh hashes.shhashes.sh:

#!/bin/bash

md5sum --status --check hashes

Result=$?

echo "File check status is: $Result"

exit $Result

[Documents]$ sh hashes.sh

File check status is: 1

[lion@ornatecandy Documents]$

Q5。 如何识别无效的哈希值?

当比较文件时,md5sum可以让你知道是否有无效的散列。 要警告你,如果任何散列值不正确,你可以使用--warn选项。 对于最后一个例子,我们将使用sed在第三行的开头插入一个额外的字符。 这将改变文件哈希中的哈希值,使其无效。

sed -i '3s/.*/a&/' hashes

md5sum --warn --check hashes

这表明第三行有一个无效的散列。[Documents]$ sed -i '3s/.*/a&/' hashes

[Documents]$ md5sum --warn --check hashes

file1.txt: OK

file2.txt: OK

md5sum: hashes: 3: improperly formatted MD5 checksum line

md5sum: WARNING: 1 line is improperly formatted

[Documents]$

结论

md5sum是一个简单的命令,可以快速验证一个或多个文件,以确定是否有任何文件已经从原始文件更改。 有关md5sum的更多信息,请参见手册页。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值