Ответы:
Вы можете попробовать использовать file
, например:
$ file test.sh.gz
test.sh.gz: gzip compressed data, was "test.sh", from Unix, last modified: Wed Feb 6 14:35:33 2013
Запустите file
команду на нем. Он будет определять сжатые файлы, а также другие распространенные форматы файлов.
Обратите внимание, что ZIP является распространенным контейнерным форматом. Например, файлы EPUB и OpenDocument на самом деле являются файлами ZIP с определенным содержимым. Моя версия file
распознает файлы OpenDocument, но если у вас нет, это может означать, что ваш файл OpenDocument является файлом ZIP. Это может быть не тот результат, который вы имели в виду :).
Чтобы быть педантичным, вы, вероятно, не имеете в виду «сжат ли этот файл», как OpenDocument, или даже изображение, сжатое как PNG или JPEG. Вы, вероятно, имеете в виду «Является ли этот файл архивом», например, ZIP, unix tar или однофайловым архивом, таким как gzip.
Обычно, однако, вы просто смотрите на расширение файла, как в Windows. Как .ZIP означает ZIP-файл, .gz означает gzip. В Linux вы также можете увидеть .bz2 (bunzip2) и .xz (xz).
Вы можете определить, выглядит ли файл как сжатый формат, запустив file
команду.
file lorem.txt lorem.txt.gz
lorem.txt: ASCII text
lorem.txt.gz: gzip compressed data, from Unix, last modified: Thu Feb 7 02:10:44 2013, max compression
file
просто скажет «данные», если он не распознает формат. Кроме того, вам нужно выяснить, что сжато или нет (например, «ASCII текст», «PPM», «WAVE audio» несжатые; «сжатые данные gzip», «JPEG изображение», «Vorbis audio» сжаты) ,
Другой способ определить, выглядит ли файл сжатым, - попытаться сжать его. Если вы не можете значительно уменьшить размер, возможно, файл сжат или зашифрован.
wc -c somefile
gzip <somefile | wc -c