Ответы:
Команда 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архивом, но и что его содержимое соответствует ожидаемому вами. быть.
gzip -tне имеет никакого вывода, кроме кода возврата, если это правильный сжатый GZIP-файл.
Он возвращает ошибку, только если вы пытаетесь сделать это с файлом, не сжатым GZIP:
steamsrv@leviathan:~$ gzip -t commands.txt
gzip: commands.txt: not in gzip format
Вывод: Ваш файл почти наверняка является сжатым GZIP-файлом. То, что я не могу сказать вам, является ли это точным файлом, который, как вы думаете, должен быть, и для этого полезен хеш ...