1、简介

MD5算法一般用于检查文件完整性,尤其常用于检测在(网络)文件传输、拷贝、磁盘错误或其他无恶意涉入的情况下文件的正确性。MD5全称报文摘要算法(Message-DigestAlgorithm 5)[RFC 1321],该算法对任意长度的信息进行逐位计算,产生一个二进制长度128位(十六进制长度32位)的校验和(或称“指纹”,“报文摘要”),不同的文件内容生成相同的报文摘要的概率是极其小的。
在Linux或Unix上,md5sum是用来计算和校验文件报文摘要的工具程序。一般来说,安装了Linux后,就会有md5sum工具,可以在命令行终端直接执行。
  • md5sum是校验文件内容,与文件名是否相同无关;
  • md5sum是逐位校验,所以文件越大,校验时间越长。

2、命令格式

md5sum [OPTION]... [FILE]...

命令选项

-b或 --binary:以二进制模式读入文件;
-t或 --text:以文本文件模式读入文件(默认);
-c或 --check:用来从文件中读取md5信息检查文件的一致性;
--status:该选项与check一起使用,在check时不输出,根据返回值表示检查结果;
-w或 --warn:在check时,检查输入的md5信息有没有非法行,若有则输出相应信息。

演示1:



演示2:根据批量校验文件



将结果保存到文件中,md5sum定时校验文件



结果如果都是:确定,或者是ok表示没有修改过,后续可以写定时脚本去监测,发现就邮件通知。


脚本源代码:

#!/bin/bash
root=$1;
lsdir(){
for i in `ls $1`
do
    if [ -d $1/$i ]
    then
            lsdir $1/$i 
    else
            md5sum $1/$i
    fi
done
}

lsdir $root