gzファイルの有効性を確認する


13

gzファイルの有効性を確認するにはどうすればよいですか。ファイルのハッシュがgzip -tありません。使用していますが、出力が返されません。

ありがとう

回答:


22

この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


4

gzip -tていない持っていることは正しいgzipで圧縮されたファイルの場合は、リターンコード以外の任意の出力を、。

gzip圧縮ファイルではないもので試行した場合にのみエラーが返されます。

steamsrv@leviathan:~$ gzip -t commands.txt

gzip: commands.txt: not in gzip format

結論:ファイルはほぼ確実にgzip圧縮ファイルです。私があなたに言えないことは、それがあなたがそれがそうであるはずであると思う正確なファイルであるかどうかです、それはハッシュが有用であるものです...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.