С помощью file
команды мы можем получить тип файла. File
возвращает уникальный ответ для каждого типа файла. Я хочу получить полный список, который file
может вернуть для linux и solaris.
Например, у меня есть частичный список file
возвращаемого вывода. К сожалению, я не могу увидеть полный список на странице руководства.
ASCII C program text
ASCII C++ program text
ASCII C program text, with CRLF
ASCII C program text, with very
ASCII English text
ASCII English text, with CRLF line
ASCII English text, with escape sequences
ASCII English text, with very long
ASCII HTML document text
ASCII HTML document text, with very
ASCII Java program text
ASCII Java program text, with CRLF,
ASCII Java program text, with very
ASCII make commands text
ASCII make commands text, with very
ASCII text
ASCII text, with CRLF line terminators
ASCII text, with escape sequences
a /usr/bin/perl script text executable
Bourne-Again shell script text executable
Bourne shell script text executable
core file (Xenix)
C++ program text
data
exported SGML document text
extended 669 module data
HTML document text
ISO-8859 English text
Non-ISO extended-ASCII English text
Non-ISO extended-ASCII English text, with CRLF
Non-ISO extended-ASCII English text, with very
PC bitmap data
PC color icon data
PC color pointer image data
PC icon data
PDF document, version 1.2
TOC sound file
UTF-8 Unicode text, with CRLF line
XML document text
решение1
Вы не можете получить исчерпывающий список вывода из file
команды. Вывод, который она генерирует, определяется «волшебной» базой данных, которая меняется с каждым обновлением программы и может быть настроена системным администратором и пользователем. Более того, строки, возвращаемые командой, file
могут быть составлены из нескольких частей, например, текстовые файлы иногда получают указание кодировки символов, файлы изображений могут иметь указанный размер и т. д.
Под Linux file -i
показываетMIME-тип(например text/plain
, image/jpeg
) вместо строки, предназначенной для людей. Если вы думали о разборе вывода из file
, вам нужно file -i
. Существуетофициальный список типов MIME, но это не исчерпывающий список: существует множество нестандартных типов. Кроме того, file -i
можно дополнить тип MIME информацией о кодировке (например text/plain charset=utf-8
, ).