linux md5值如何查看(Linux对目录进行md5校验)
linux md5值如何查看(Linux对目录进行md5校验)md5deep -rl directory_path> directory.md5 安装完成软件包之后,可以使用md5deep命令进行计算校验和。 dnf install epel-release -y yum makecache dnf install md5deep -y
校验和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
鼓励的话语:性格决定命运,气度决定格局。自强者,天不弃!