md5clinux函数_Linux命令详解:md5sum--查看⽂件MD5值概述
前⾯介绍了windows系统怎么去⽤certutil查看⽂件MD5值,从⽽辨别⽂件是否⼀致的问题。所以今天主要介绍linux环境怎么去查看
MD5。这样就可以知道windows传到linux的⽂件是不是有丢失之类的情况了。特别是在⽹络传输、设备之间转存、复制⼤⽂件等时,可能会出现传输前后数据不⼀致的情况,这种情况在⽹络这种相对更不稳定的环境中,容易出现。那么校验⽂件的完整性,也是势在必⾏的。
md5sum
md5sum命令⽤于⽣成和校验⽂件的md5值。它会逐位对⽂件的内容进⾏校验。是⽂件的内容,与⽂件名⽆关,也就是⽂件内容相同,其md5值相同。md5值是⼀个128位的⼆进制数据,转换成16进制则是32(128/4)位的进制值。
md5校验,有很⼩的概率不同的⽂件⽣成的md5可能相同。⽐md5更安全的校验算法还有SHA*系列的。
在⽹络传输时,我们校验源⽂件获得其md5sum,传输完毕后,校验其⽬标⽂件,并对⽐如果源⽂件和⽬标⽂件md5 ⼀致的话,则表⽰⽂件传输⽆异常。否则说明⽂件在传输过程中未正确传输。
命令格式
md5sum [OPTION]... [FILE]...
命令选项
-b或 --binary:以⼆进制模式读⼊⽂件;
-t或 --text:以⽂本⽂件模式读⼊⽂件(默认);
-c或 --check:⽤来从⽂件中读取md5信息检查⽂件的⼀致性;
--status:该选项与check⼀起使⽤,在check时不输出,根据返回值表⽰检查结果;
-w或 --warn:在check时,检查输⼊的md5信息有没有⾮法⾏,若有则输出相应信息。
怎么显示文件的扩展名
实例
1、 ⽣成⽂件md5值
md5sum file
md5sum校验的是⽂件内容,与⽂件名⽆关
以⽂本模式或⼆进制模式读⼊⽂件并对其进⾏校验
-b 以⼆进制模式读⼊内容
-t 以⽂本模式读⼊⽂件内容进⾏校验
虽然是不同的读⼊模式,但是在进⾏求md5的时候,是⼀样的,因为是逐位校验的。如下⽂本⽂件,⽆论通过哪种模式读取md5都⼀致。
2、md5值重定向
将⽣成md5值重定向到指定的⽂件,通常⽂件的扩展名会命为.md5
这⾥也可以将多个⽂件的md5重定向到指定的⽂件,每个⽂件的md5⽣成为⼀⾏
3、重定向追加
这⾥新增⽂件ls,单独求其md5,将其md5追加到⽂件中
4、md5校验
-c选项来对⽂件md5进⾏校验。校验时,根据已⽣成的md5来进⾏校验。⽣成当前⽂件的md5,并和之前已经⽣成的md5进⾏对⽐,如果⼀致,则返回OK,否则返回错误信息
md5sum –c ⽂件名.md5
注意:修改⽂件后,⽂件md5会发⽣变化
--status,不显⽰校验信息,以命令返回值来判断,校验⼀致返回0,不⼀致返回1
5、使⽤md5sum递归⽣成整个⽬录的sum
命令如下:
find ./ -type f -print0 | xargs -0 md5sum > ./my.md5 md5sum -c my.md5
特殊说明
1)md5sum 是校验⽂件内容,与⽂件名是否相同⽆关
2)md5sum值逐位校验,所以⽂件越⼤,校验时间越长。
总结
⼀般是通过md5sum来校验⽣成⽂件校验码,来发现⽂件传输(⽹络传输、复制、本地不同设备间的传输)异常造成的⽂件内容不⼀致的情况。
后⾯会分享更多linux⽅⾯内容,感兴趣的朋友可以关注下!!