gzファイルの検証

gzファイルの検証

gzファイルの有効性をどのように確認できますか?ファイルのハッシュがなく、使用中ですが、gzip -t出力は返されません。

答え1

この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アーカイブであるだけでなく、その内容が期待したものと同じであるという追加の確認が得られます。

答え2

gzip -tいいえ持つgzipで正しく圧縮されたファイルの場合は、すべての出力(リターンコードを除く)

以下を実行しようとするとエラーが返されます。いいえgzip圧縮ファイル:

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

gzip: commands.txt: not in gzip format

結論:ファイルがgzipで圧縮されていることはほぼ確実です。私が言うことができないのは、それがあなたが考える正確なファイルなのか、ハッシュが役に立つ場所なのかということです。

関連情報