Linux cksum命令用于检查文件的CRC是否正确。确保文件从一个系统传输到另一个系统的过程中不被损坏。
CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至少可检测到99.998%的已知错误。
指定文件交由指令"cksum"进行校验后,该指令会返回校验结果供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为"-",则指令"cksum"会从标准输入设备中读取数据。
cksum [--help][--version][文件...]
--help:在线帮助。
--version:显示版本信息。
文件…:需要进行检查的文件路径
使用指令"cksum"计算文件"testfile1"的完整性,输入如下命令:
[root@192 cksum]# cksum test1
3276311226 13 test1
[root@192 cksum]#
上面的输出信息中,"3276311226"表示校验码,"13"表示字节数。
验证文件得正确性。
md5sum filename
注:生成一个128位的二进制位,即32位的十六进制字符串
验证文件的正确性:
md5sum file1 file2 > file_sum.md5
下一次想看一下文件是否被改动
md5sum -c file_sum.md5
file1:ok
file2:ok
验证成功。
验证一个目录dir下的所有文件的正确性
find dir/ -type f -print -exec md5sum {} >file_sum.md5 \;
or
find dir/ -type f -print0 | xargs -0 md5sum >> file_sum.md5
注:用print0是因为如果文件名中有空格的,不计算在内
这会生成一个文件:file_sum.md5
md5sum -c file_sum.md5
若全部ok,则正确。
校验网上下载的文件是否正确
将下载的文件和MD5文件放在目录dir下
(如果是md5字符串,可以新建一个文件为file_sum.md5)
cd dir
md5sum -c file_sum.md5
若输出ok,则验证正确。
sha1算法和md5差不多,但他生成了160位二进制数,即40位16进制数。
用法同md5sum
sha1sum file1 file2 > file.sha1
检验:
sha1sum -c file.sha1