Определить, является ли данный файл gzip или TarGzip

#file #gzip #tar #file-type

Вопрос:

Учитывая файл, используя магическую последовательность, я могу определить тип сжатия, к которому он принадлежит. Но магическая последовательность для gzip и tarGzip одинакова. Итак, как я могу различать эти 2 типа файлов.

На https://en.wikipedia.org/wiki/List_of_file_signatures , мы можем видеть , что сигнатура файла для обоих этих файлов является шестнадцатеричной 1f 8b

Комментарии:

1. Вы пробовали использовать file <filename> ?

2. Файл tgz — это просто tar-файл, который был сжат с помощью gzip. Поэтому вам нужно распаковать его, чтобы узнать, какой был исходный тип.

3. gzcat filename | file -

4. @Dominique Это просто говорит о том, что это сжатый файл, он не повторяет тип исходного файла.

5. О, только что обнаружил -z опцию file — она заглядывает внутрь сжатых файлов.

Ответ №1:

Распакуйте первые 1 Тыс. байт и проверьте контрольную сумму tar для первых 512 из них. Если это соответствует, весьма вероятно, что вы имеете дело с файлом tar. (Если не 1024 байта, то это не tar-файл.)