是否可以验证tar.gz文件是否已损坏

时间:2018-09-04 16:10:41

标签: linux shell file compression tar

我们要检查tar.gz文件是否已损坏

例如

我使用 file 命令

file  spark2-hdp-yarn-archive.tar.gz
spark2-hdp-yarn-archive.tar.gz: gzip compressed data, was "spark2-hdp-yarn-archive.tar", last modified: Wed Aug  1 15:05:27 2018, max compression

在这种情况下,似乎文件没问题

但是我不确定file命令是否是检查压缩文件的正确方法

second表示tar.gz文件已损坏的预期结果是什么?

2 个答案:

答案 0 :(得分:1)

gzip工具可让您测试存档。您将输入类似

的命令
gzip -t spark2-hdp-yarn-archive.tar.gz

根据手册页,-t标志测试文件的完整性。测试文件时可能会收到许多错误,但是我最常看到的有关已损坏档案的错误是

gzip: blah.gz: unexpected end of file

(检查的文件为blah.gz)。

答案 1 :(得分:1)

使用此:

arch=spark2-hdp-yarn-archive.tar.gz
if gzip -t "$arch" &>/dev/null; then
    echo ok
else
    echo >&2 "File corrupted"
    exit 1
fi
相关问题