Linux命令详解:md5sum
1、简介
MD5算法⼀般⽤于检查⽂件完整性,尤其常⽤于检测在(⽹络)⽂件传输、拷贝、磁盘错误或其他⽆恶意涉⼊的情况下⽂件的正确性。MD5全称报⽂摘要算
法(Message-DigestAlgorithm 5)[RFC 1321],该算法对任意长度的信息进⾏逐位计算,产⽣⼀个⼆进制长度128位(⼗六进制长度32位)的校验和(或称“指纹”,“报⽂摘要”),不同的⽂件内容⽣成相同的报⽂摘要的概率是极其⼩的。
在Linux或Unix上,md5sum是⽤来计算和校验⽂件报⽂摘要的⼯具程序。⼀般来说,安装了Linux后,就会有md5sum⼯具,可以在命令⾏终端直接执⾏。
2、命令格式
md5sum [OPTION]... [FILE]...
命令选项
-b或 --binary:以⼆进制模式读⼊⽂件;
-t或 --text:以⽂本⽂件模式读⼊⽂件(默认);
-c或 --check:⽤来从⽂件中读取md5信息检查⽂件的⼀致性;
--status:该选项与check⼀起使⽤,在check时不输出,根据返回值表⽰检查结果;
-w或 --warn:在check时,检查输⼊的md5信息有没有⾮法⾏,若有则输出相应信息。
4、实例演⽰
1)⽣成⼀个⽂件的md5值,如下所⽰:
[root@HLZ test]# ll
total 16
-rw-r--r--1 root root 240 Sep 4 22:26
-rw-r--r--1 root root  11 Sep 4 22:
-rw-r--r--1 root root  46 Sep 4 22:24 bbb.log
drwxr-xr-x2 root root 4096 Sep 4 22:24 checksum
[root@HLZ test]#
[root@HLZ test]# > checksum/aaa.md5
这样,就⽣成了⽂件的md5校验⽂件aaa.md5,打开可以看到如下内容:
[root@HLZ test]# cat checksum/aaa.md5
2)md5sum⽀持多个⽂件输⼊或通配符
[root@HLZ test]# bbb.log > checksum/all.md5
[root@HLZ test]# cat checksum/all.md5
fff62b77988e5b9d83a2872bb2247b21 bbb.log
36eb58b2563f91baf61531aef126eea6
[root@HLZ test]# md5sum aaa* > checksum/aaa_all.md5
[root@HLZ test]# cat checksum/aaa_all.md5
36eb58b2563f91baf61531aef126eea6
3)⽂件内容校验
[root@HLZ test]# md5sum -c ./checksum/aaa.md5
<:OK
[root@HLZ test]# md5sum -c ./checksum/all.md5
<:OK
bbb.log:OK
:OK
[root@HLZ test]# vi bbb.log    ---修改bbb.log⽂件内容,添加7个0
abceefghijklmnopqr0000000stuvwxyz1234567890987654321
[root@HLZ test]# md5sum -c ./checksum/all.md5
<:OK
bbb.log: FAILED
:OK
md5sum: WARNING: 1 of 3 computed checksums did NOT match
[root@HLZ test]#
4)⽂件路径的考虑($PWD即当前路径/home/hanlzh/test/)
[root@HLZ test]# pwd
/
home/hanlzh/test
[root@HLZ test]# md5sum $ > ./checksum/aaa.md5
[root@HLZ test]# cat checksum/aaa.md5
d700cf9bb133858df4d3e0486848be78 /home/hanlzh/
[root@HLZ test]# md5sum -c ./checksum/aaa.md5
/home/hanlzh/:OK
[root@HLZ test]# cd ..
[root@HLZ hanlzh]# md5sum -c ./test/checksum/aaa.md5
/home/hanlzh/:OK
4)⽂件缺失或不存在情况
[root@HLZ test]# rm -rf
[root@HLZ test]# md5sum -c ./checksum/aaa_all.md5
md5sum: : No such file or directory
: FAILED open or read
<:OK
linux vi命令详解菜鸟教学
md5sum: WARNING: 1 of 2 listed files could not be read
5、总结
特殊说明
1)md5sum是校验⽂件内容,与⽂件名是否相同⽆关;
2)md5sum是逐位校验,所以⽂件越⼤,校验时间越长。
md5校验,可能极⼩概率出现不同的⽂件⽣成相同的校验和,⽐md5更安全的校验还有SHA*系列,
如sha1sum/sha224sum/sha256sum/sha384sum/sha512sum等等,基本⽤法与md5sum命令类似,详情可通过man sha1sum查询。以下仅简单列举⼀例,不再赘述。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。