Linux中文件MD5校验方法
md5sum命令用于生成文件的md5数字摘要,并可以验证文件内容是否发生了改变,间接地还可以检验两个文件内容是否完全相同。因为md5sum是读取文件内容来计算校验码的,因此只能验证文件内容,而无法验证文件属性。
生成文件的md5值
1 | [root@wds069 python]# md5sum passwd passwd.bak |
根据生成的md5值判断文件是否发生改变
- 将md5值保存到md5.log中
1
2
3
4[root@wds069 python]# md5sum passwd passwd.bak > md5.log
[root@wds069 python]# cat md5.log
fa60ed523d3c3af41cde7664765ec995 passwd
fa60ed523d3c3af41cde7664765ec995 passwd.bak - 根据md5.log判断文件是否改变
如下是没有发生改变的修改passwd.bak文件,然后重新查看md5,如下可以看到passwd.bak显示的是1
2
3[root@wds069 python]# md5sum -c md5.log
passwd: OK
passwd.bak: OKFALIED查看修改后的passwd.bak的md5值,md5.log中的原来的md5值确实不同了1
2
3
4
5
6
7[root@wds069 python]# echo xxx >> passwd.bak
[root@wds069 python]#
[root@wds069 python]# md5sum -c md5.log
passwd: OK
passwd.bak: FAILED
md5sum: WARNING: 1 computed checksum did NOT match
[root@wds069 python]#1
2
3
4
5
6
7
8[root@wds069 python]# md5sum passwd.bak
1c8bd8c8eafdefde91b6e7fb71b96925 passwd.bak
[root@wds069 python]#
[root@wds069 python]# cat md5.log
fa60ed523d3c3af41cde7664765ec995 passwd
fa60ed523d3c3af41cde7664765ec995 passwd.bak
[root@wds069 python]#
常用参数
当使用-c的时候,还可以使用以下参数。--quiet 不显示验证结果为OK的记录。
1 | [root@wds069 python]# md5sum --quiet -c md5.log |
--status 不显示任何信息,只能通过命令的退出状态码判断验证结果是否有failed。只要有一条failed记录,则状态码为1,否则为0。
1 | [root@wds069 python]# md5sum --status -c md5.log |



