Команда file
в Linux отображает тип файла. Это полезно, когда вам нужно узнать тип файла, который вы никогда раньше не видели, или у файла нет расширения.
Синтаксис команды file
в Linux следующий:
file [OPTION] [FILE]
В качестве аргументов может использоваться одно или несколько имя файлов.
Команда file
классифицирует файлы на основе серии тестов и определяет тип файла на основе первого успешного теста.
В простейшем виде, когда используется без каких-либо опций, команда file
отобразит имя файла вместе с типом файла:
file /etc/group
/etc/group: ASCII text
Чтобы показать только тип файла, используйте параметр -b
( --brief
):
file -b /etc/group
ASCII text
Как видно из вывода выше, файл /etc/group
представляет собой текстовый файл.
Вы можете передать в команду file
более одного файла :
file /bin/bash /opt/card.zip
Команда напечатает тип каждого файла в отдельном файле:
/bin/bash: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=42602c973215ba5b8ab5159c527e72f38e83ee52, stripped /opt/card.zip: Zip archive data, at least v1.0 to extract
Он также принимает символы подстановки. Например, чтобы найти тип .jpg
каждого файла в текущем каталоге, вы запустите:
file *.jpg
imgage001.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 2083x1250, components 3 imgage031.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, comment: "Created with GIMP", baseline, precision 8, 1280x1024, components
Используйте опцию -i
( --mime
), чтобы определить mime-тип файла:
file -i /var/www/index.html
/var/www/index.html: text/html; charset=us-ascii
К настоящему времени вы должны хорошо понимать, как использовать команду file в Linux. Для получения дополнительной информации по команде find
см. Справочную страницу file: https://linux.die.net/man/1/file.