在Linux环境下载文件,往往会校验文件的完整性和安全性,即校验文件的hash。常用的hash算法有MD5
,SHA1
,SHA256
,SHA512
。Linux操作系统操作了方便的校验程序。
以下以sha256校验为例,展示生成sha256校验文件及文件完整性校验的过程。
生成sha256校验信息
$ sha256sum file.name
示例
$ sha256sum nginx.tar.gz
e5a3fd11152741e748938858607e8a7b7eb782f3f80f8bb833b568895409e914 nginx.tar.gz
也可以将校验信息输出到文件
$ sha256sum nginx.tar.gz > SHA256SUM
对目录下的所有文件生成校验信息
$ ls | grep -v "SHA256SUM" | xargs sha256sum >> SHA256SUM
$ cat SHA256SUM
e5a3fd11152741e748938858607e8a7b7eb782f3f80f8bb833b568895409e914 nginx.tar.gz
b8b80e123e5608303918bb3dd34f27fc52f2093b039ce49750b7c2ee22aefb83 twitter-sync.tar.gz
验证文件完整性
$ sha256sum -c --ignore-missing SHA256SUM
nginx.tar.gz: OK
twitter-sync.tar.gz: OK
sha256sum -c --ignore-missing SHA256SUM
-c
选项表示从文件中读取SHA256的校验值并予以检查。--ignore-missing
表示忽略不存在的文件。