概述
md5deep
命令比 md5sum
功能更加丰富,可以递归检查整个目录树。即计算每一个目录中的文件,为每个子目录中的每个文件生成 MD5 值。
注:通常 Linux 系统中是没有
md5deep
命令的,可以通过apt-get
或者yum
来安装。
语法
该命令的语法如下:
md5deep -v | -V | -h
md5deep [-m|-M|-x|-X <file>] [-a|-A <hash>] [-f <file>] [-p <size>] [-i <size>] [-tnwzresS0lbkqZud] [-F <bum>] [-o <fbcplsde>] [-j <num>] [[FILES]
该命令支持的选项有:
选项 | 说明 |
---|---|
-r | 使用递归的方式,用来检查目录中所有文件 |
-l | 打印文件名的相对路径 |
-p <size> |
分段模式。文件被分成块进行散列 |
-s | 静音模式。抑制所有错误消息 |
-z | 在哈希之前显示文件大小 |
-m <file> |
启用匹配模式 |
-x <file> |
启用负匹配模式 |
-w | 显示哪个已知文件生成了一个匹配 |
-b | 只打印文件名而忽略所有路径信息 |
-t | 打印GMT时间戳(ctime) |
使用
对目录进行校验
如果要对目录进行校验,命令格式如下:
# 语法
md5deep -rl 目录路径
# 示例
md5deep -rl /root/temp
校验目录并显示文件大小
如果要显示文件大小,则需要加上 -z
选项。
检查文件
我们可以利用 -m
选项启用匹配模式,检查一个给定文件和一个哈希列表中的文件是否匹配。其中哈希列表可以是 md5deep
或者 md5sum
生成的文件。如果给定的文件与哈希列表中一个哈希相匹配,则输出该文件;如果哈希不匹配,则程序不显示任何输出。类似于 md5sum -c
命令的功能。