校验程序用来从文件中生成校验密钥,然后利用这个校验密码核实文件的完整性。 一份文件可以通过网络分发到不同的地点。出于多种原因,数据有可能在传输过程中丢失了若干位,从而导致文件的破坏。 因此我们需要采用一些测试方法来确定接收到的文件是否存在错误。我们可以对原始文件和接收到的文件进行校验。 通过对比两者的校验结果,就能够核实接收到的文件是否正确。校验对于编写备份脚本或系统维护脚本来说非常重要。
使用md5sum或sha1sum进行校验 最知名并且使用最广泛的校验和技术是md5sum和sha1sum。它们对文件内容使用响应的算法来生成校验结果。 为了计算md5sum,使用下列命令 md5sum filename xxxxxxxxxxxxxxxxxxxx(32个字符的十六进制字符串) filename 如上所示,md5sum加密后的结果是一个32个字符的十六进制字符串。 将输出的校验结果重定向到一个文件,然后用这个md5文件核实数据的完整性: md5sum filename > file_sum.md5 可以按照下面的方法用生成的文件核实数据完整性: md5sum -c file_sum.md5 sha1sum是另一个种常用的校验算法。它从给定的输入文件中生成一个长度为40个字符的十六进制串。其用法和md5sum非常相似。
可以对多个文件进行校验md5sum file1 file2 file3 ... 输出中会在每行中包含单个文件的校验结果字符串。 可以按照下面的方法用生成的文件核实数据完整性: md5sum -c file_sum.md5 #这个命令会输出校验结果是否匹配的消息
对目录进行校验 对于目录进行校验意味着我们需要对目录中的所有文件以递归的方式进行计算。 它可以用命令md5deep或者sha1deep来实现。首先,需要安装md5deep软件包以确保能找到这些命令。用法如下: md5deep -rl directory_path > directory.md5 #-r 使用递归的方式 #-l 使用相对路径。默认情况下会输出绝对路径。 用下面的命令进行核实: md5sum -c directory.md5