您的位置  > 互联网

《外汇课堂》命令用于生成文件的md5数字摘要

[root@xuexi ~]# cp -a /etc/fstab /tmp/fstab
[root@xuexi ~]# cp -a /etc/fstab /tmp/fstab1

生成文件的md5值。

[root@xuexi ~]# md5sum /tmp/fstab /tmp/fstab1
a612cd5d162e4620b442b0ff3474bf98  /tmp/fstab
a612cd5d162e4620b442b0ff3474bf98  /tmp/fstab1

发现两个文件的md5值是一模一样的,也就是说这两个文件是一模一样的。

由于生成的md5信息中,每个md5值后面都跟有对应文件的路径(可能是相对路径),所以生成的md5会保存到某个文件中。 以后可以通过这个文件来检查对应的md5值。 文件内容是否被修改。

比如将上面两个文件的md5信息保存到fs.中,然后用“-c”来检查源文件是否完整或者是否被修改过。这个检查是根据内容进行的。 权限和属性的改变不会影响md5值,所以不会检测到问题。

[root@xuexi ~]# md5sum /tmp/fstab /tmp/fstab1 >/tmp/fs.md5sum
[root@xuexi ~]# md5sum -c /tmp/fs.md5sum
/tmp/fstab: OK
/tmp/fstab1: OK

修改/tmp/的内容,然后再次检查。

[root@xuexi tmp]# echo aaa >>/tmp/fstab1
[root@xuexi tmp]# md5sum -c /tmp/fs.md5sum
/tmp/fstab: OK
/tmp/fstab1: FAILED
md5sum: WARNING: 1 of 2 computed checksums did NOT match

当使用“-c”选项时,还支持以下选项:

--quiet:不显示验证结果OK的记录

--:根本不显示任何信息。 只能通过命令的退出状态码来判断验证结果是否可用。 只要有一条记录,状态码就是1,否则就是0。

[root@xuexi tmp]# md5sum --status -c /tmp/fs.md5sum
[root@xuexi tmp]# echo $?
1

通过比较数值可以判断多个文件的内容是否完全一致,但是不方便用肉眼判断,所以写了一个脚本来批量判断。