Answers:
该gzip -t
命令仅向外壳返回退出代码,说明文件是否通过完整性测试。
示例(在脚本中):
if gzip -t file.gz; then
echo 'file is ok'
else
echo 'file is corrupt'
fi
添加-v
将使其实际报告结果并显示一条消息。
例:
$ gzip -v -t file.gz
file.gz: OK
这样文件就可以了。让我们破坏文件(通过0
在文件的字节40中写入字符),然后重试。
$ dd seek=40 bs=1 count=1 of=file.gz <<<"0"
1+0 records in
1+0 records out
1 bytes transferred in 0.000 secs (2028 bytes/sec)
$ gzip -v -t file.gz
file.gz: gzip: file.gz: Inappropriate file type or format
就其压缩而言,文件的完整性不能保证文件内容就是您所认为的。如果您有文件提供者提供的文件的MD5校验和(或类似的校验和),那么您将能够获得额外的确认,证明该文件不仅是有效的gzip
档案,而且其内容也正是您所期望的成为。