Bagaimana saya dapat memeriksa validitas file gz, saya tidak memiliki hash file, saya menggunakan gzip -t
tetapi tidak mengembalikan output apa pun.
Terima kasih
The gzip -t
perintah saja mengembalikan kode keluar ke shell mengatakan apakah file lulus uji integritas atau tidak.
Contoh (dalam skrip):
if gzip -t file.gz; then
echo 'file is ok'
else
echo 'file is corrupt'
fi
Menambahkan -v
akan membuatnya benar-benar melaporkan hasilnya dengan pesan.
Contoh:
$ gzip -v -t file.gz
file.gz: OK
Jadi file tersebut ok. Mari kita korup file (dengan menulis karakter 0
pada byte 40 di file) dan coba lagi.
$ 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
Integritas file sehubungan dengan kompresinya tidak menjamin bahwa konten file adalah apa yang Anda yakini. Jika Anda memiliki MD5 checksum (atau semacam checksum serupa) dari siapa pun yang menyediakannya, maka Anda akan dapat memperoleh konfirmasi tambahan bahwa file tersebut tidak hanya merupakan gzip
arsip yang valid , tetapi juga bahwa isinya adalah apa yang Anda harapkan. menjadi.
gzip -t
tidak memiliki output apa pun, selain kode pengembalian, jika itu adalah file terkompresi gzip yang benar.
Ini hanya mengembalikan kesalahan jika Anda mencobanya pada sesuatu yang bukan file terkompresi gzip:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Kesimpulan: File Anda hampir pasti merupakan file terkompresi gzip. Apa yang tidak bisa saya katakan adalah apakah file itu persis seperti yang Anda pikir seharusnya, yang mana hash akan berguna untuk ...