Risposte:
Il gzip -tcomando restituisce solo un codice di uscita alla shell che indica se il file ha superato o meno il test di integrità.
Esempio (in uno script):
if gzip -t file.gz; then
echo 'file is ok'
else
echo 'file is corrupt'
fi
L'aggiunta -vlo farà effettivamente riportare il risultato con un messaggio.
Esempio:
$ gzip -v -t file.gz
file.gz: OK
Quindi il file è ok. Corrompiamo il file (scrivendo il carattere 0nel byte 40 nel file) e riproviamo.
$ 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
L'integrità di un file rispetto alla sua compressione non garantisce che il contenuto del file sia quello che ritieni sia. Se hai un checksum MD5 (o un checksum simile) del file da chiunque lo abbia fornito, allora potresti ottenere un'ulteriore conferma che il file non è solo un gziparchivio valido , ma anche che il suo contenuto è quello che ti aspetti essere.
gzip -tnon ha alcun output, tranne il codice di ritorno, se è un file compresso gzip corretto.
Restituisce un errore solo se lo stai provando su qualcosa che non è un file compresso gzip:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Conclusione: il tuo file è quasi certamente un file compresso gzip. Quello che non posso dirti è se è il file esatto che pensi debba essere, ed è per questo che l'hash sarebbe utile ...