linux查看md5值的命令 Linux对目录进行md5校验

校验和checksum 程序是用来从文件中生成校验和密钥,然后用这个校验和密钥核实文件的完整性。当一个文件通过网络或者存储介质去分发到不同的地点,由于多种原因,可能会出现数据在传输过程中丢失几位的现象,导致文件损坏的现象。比如从因特网上下载ISO镜像文件或者通过网络传输文件的时候、遇到光盘文件损坏的时候。我们通过对原始文件和接收到的文件都进行校验和计算,通过对比两者的校验和,就能够核实出接收到的文件是否正确,核实到文件的完整性。

应用最广泛的校验和技术是md5sum和SHA1sum。和md5sum相似的,SHA1是一种常见的校验和算法。

多个文件,校验和同样发挥作用。对linux系统重的目录进行校验,需要对目录中的所有文件进行递归的方式计算。需要安装md5deep软件包,使用md5deep或者sha1deep进进行实现。当然也可以结合find命令来递归计算校验和。

在linux系统中需要安装md5deep的软件包,先安装epel的源。

dnf install epel-release -y

yum makecache

dnf install md5deep -y

安装完成软件包之后,可以使用md5deep命令进行计算校验和。

md5deep -rl directory_path> directory.md5

这里的-r表示递归,-l表示相对路径。在默认的情况下,md5deep会输出文件的绝对路径。

还可以结合find命令,使用md5sum 递归的方式计算校验和。具体方法如下:

find directory_path -type f -print0 |xargs -0 md5sum>> directory.md5

这里需要说明一下:

当我们使用find的输出作为xargs的输入时,必须把-print0与find结合使用,用字符null来分隔输出。因为xargs一般把空格作为默认的定界分隔符。我们使用的时候,无法预测find命令标准输出的结果它的定界分隔符是\n换行还是' '空格。在Linux系统中,很多文件名中可能会包含空格符,xargs可能会误认为它们是定界符。

所以使用find命令的输出结果作为xargs的输入,需要-print0和find结合使用,举例如下:

find . -type f -name "*.txt" -print0 | xargs -0 rm -f

如果使用了错误的方式,把find命令和xargs结合使用,操作会很危险,可能会删除不应该删除的文件。

linux查看md5值的命令 Linux对目录进行md5校验(1)

linux

鼓励的话语:性格决定命运,气度决定格局。自强者,天不弃!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页