首页 > 服务器学习 > Linux > Linux中的文件效验命令
2018
05-29

Linux中的文件效验命令

在网络传输、设备之间转存、复制大文件等时,可能会出现传输前后数据不一致的情况。这种情况在网络这种相对更不稳定的环境中,容易出现。那么校验文件的完整性,也是势在必行的。

md5sum命令用于生成和校验文件的md5值,MD5全称报文摘要算法(Message-DigestAlgorithm 5)[RFC 1321]。它会逐位对文件的内容进行校验,与文件名无关,也就是文件内容相同,其md5值相同,md5sum是逐位校验,所以文件越大,校验时间越长

md5值是一个128位的二进制数据,转换成16进制则是32(128/4)位的进制值。不同的文件生成的md5相同的概率存在但是是极小的,比md5更安全的校验算法还有SHA*系列,如sha1sum/sha224sum/sha256sum/sha384sum/sha512sum等等,基本用法与md5sum命令类似。

在网络传输时,我们校验源文件获得其md5sum,传输完毕后,校验其目标文件,并对比如果源文件和目标文件md5一致的话,则表示文件传输无异常。否则说明文件在传输过程中未正确传输。

在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum工具,可以在命令行终端直接执行。

-b或--binary:以二进制模式读入文件;

-t或--text:以文本文件模式读入文件(默认);

-c或 --check:用来从文件中读取md5信息检查文件的一致性;

--status:该选项与check一起使用,在check时不输出,根据返回值表示检查结果;

-w或 --warn:在check时,检查输入的md5信息有没有非法行,若有则输出相应信息。

1、输出md5值:md5sum /home/user/111.txt

d41d8cd98f00b204e9800998ecf8427e /home/user/111.txt

2、输出重定向到效验文件以供-c选项效验使用(习惯上输出到后缀为.md5的文件中):

md5sum /home/user/111.txt > xy.md5

md5sum -c /home/user/xy.md5

/home/user/111.txt: OK

3、可以一次生成多个文件的md5值:

md5sum /home/user/111.txt /home/user/222.txt /home/user/333.txt> xy.md5

md5sum /home/user/*.txt> xy.md5

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。