checksum命令 linux_Linux常用命令详解 | md5sum 文件一致性校验

一、简介

md5sum计算检验MD5效验码。MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改。MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的“指纹”(或称“报文摘要”),不同的文件产生相同的报文摘要的可能性非常小。

一般来说,安装了Linux后,就会有md5sum这个工具,直接在命令行终端直接运行。其他两个工具sha256sum和sha512sum的工作方式与md5sum相同。

二、基本命令

$ md5sum --help

Usage: md5sum [OPTION]... [FILE]...

Print or check MD5 (128-bit) checksums.

With no FILE, or when FILE is -, read standard input.

-t, --text read in text mode (default)

-b, --binary read in binary mode

-c, --check read MD5 sums from the FILEs and check them

--tag create a BSD-style checksum

Note: There is no difference between binary and text mode option on GNU system.

The following four options are useful only when verifying checksums:

--quiet don't print OK for each successfully verified file

--status don't output anything, status code shows success

--strict exit non-zero for improperly formatted checksum lines

-w, --warn warn about improperly formatted checksum lines

--help display this help and exit

--version output version information and exit

The sums are computed as described in RFC 1321. When checking, the input

should be a former output of this program. The default mode is to print

a line with checksum, a character indicating input mode ('*' for binary,

space for text), and name for each FILE.

md5sum filename > filename.md5

也可以把多个文件的报文摘要输出到一个md5文件中,这要使用通配符 *,比如某目录下有几个iso文件,要把这几个iso文件的摘要输出到iso.md5文件中,命令如下:

md5sum *.iso > iso.md5

特殊说明:

1)md5sum 是校验文件内容,与文件名是否相同无关

2)md5sum值逐位校验,所以文件越大,校验时间越长。

三、常见功能

1. 验证文件是否被篡改

把下载的文件file和该文件的file.md5报文摘要文件放在同一个目录下,然后用如下命令进行验证:

md5sum -c file.md5

然后如果验证成功,则会输出:OK

2. 验证多个文件

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

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

$ md5sum --check hashes

file1.txt: OK

file2.txt: OK

file3.txt: OK

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

echo "!" >> file3.txt

$ md5sum --check hashes

file1.txt: OK

file2.txt: OK

file3.txt: FAILED

md5sum: WARNING: 1 computed checksum did NOT match

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

3. 只显示修改过的文件

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

$ md5sum --quiet --check hashes

file3.txt: FAILED

md5sum: WARNING: 1 computed checksum did NOT match

4. 递归生成各文件的的MD5值

find ./test_rc1 -type f -print0| xargs -0 md5sum >> rc1_md5.txt

find ./test_rc2 -type f -print0| xargs -0 md5sum >> rc2_md5.txt

5. 比较两文件的MD5值

diff -c rc1_md5.txt rc2_md5.txt

Ref:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值