md5sum校验目录及子目录下所有文件并生成md5值的方法

本文介绍了后端团队如何通过find命令结合print0和xargs选项,解决在大量子目录中递归计算MD5值的问题,以确保文件完整性的方法,以及如何使用md5sum和grep进行快速验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近,后端在整理bantuhome的数据,他们copy了文件后,怕文件有问题,想对所有的文件进行md5值验证,但是由于子目录太多太深,用基本的md5sum ./*的方法不行,因为还有目录,就会跳过了。可以用下面的方法进行处理。

find ./ -type f -print0 | xargs -0 md5sum >md5.txt

这里的重点就是find ./ -type f -print0 | xargs -0,平时很少用到该方法

find -print0表示在find的每一个结果之后加一个NULL字符,而不是默认加一个换行符。find的默认在每一个结果后加一个'\n',所以输出结果是一行一行的。当使用了-print0之后,就变成一行了。然后xargs -0表示xargs用NULL来作为分隔符。这样前后搭配就不会出现空格和换行符的错误了

注:平时真没有注意有-print0的这个功能,mark一下。

验证文件是否有变,我们可以用md5sum -c md5.txt | grep -i failed 只要没有failed,就表示文件没有被篡改。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值