Утилита file
— это мощный инструмент командной строки, который используется для определения типа файла на основе его содержимого, а не расширения. Она полезна для системных администраторов, разработчиков и пользователей Linux, которые хотят быстро узнать о типе файла, не заглядывая в его содержимое напрямую.
Назначение
Основное назначение утилиты file
— анализ файловой структуры и вывод информации о типе файла: текстовый, бинарный, исполняемый и т.д. Она полезна в случае, когда расширение файла может быть ненадежным показателем его содержимого. Например, файл с расширением .txt
может оказаться двоичным или наоборот.
Синтаксис
Общий синтаксис команды:
file [опции] файл1 файл2 ...
Полный список команд и опций
Опция | Описание |
---|---|
-b | Выводит только описание типа файла, без имени файла. |
-i | Показывает MIME-тип файла. |
-L | Следует за символическими ссылками (отображает тип файла, на который указывает ссылка). |
-s | Проверяет файлы блоков или специальных устройств. |
-z | Анализирует сжатые файлы. |
--help | Выводит справочную информацию по использованию утилиты. |
-f [файл] | Анализирует список файлов, указанный в текстовом файле. |
--version | Выводит текущую версию утилиты file . |
Примеры использования
1. Определение типа файла:
file example.txt
Вывод может быть таким:
example.txt: ASCII text
2. Анализ сжатого файла:
file -z archive.tar.gz
Вывод:
archive.tar.gz: gzip compressed data, from Unix, last modified: Fri Sep 10 12:00:00 2021
3. Определение MIME-типа:
file -i picture.png
Вывод:
picture.png: image/png; charset=binary
4. Вывод только описания типа файла:
file -b example.txt
Вывод:
ASCII text
5. Анализ нескольких файлов:
file file1 file2 file3
Вывод:
file1: ASCII text
file2: PNG image data, 800 x 600, 8-bit/color RGB, non-interlaced
file3: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked
6. Анализ списка файлов из текстового файла:
file -f filelist.txt
Где filelist.txt
— это текстовый файл с именами файлов, которые необходимо проанализировать.
Заключение
Утилита file
— это полезный инструмент, который может предоставить важную информацию о содержимом файла, что особенно полезно в ситуациях, когда расширение файла может ввести в заблуждение. Она является стандартной частью большинства Linux-дистрибутивов и часто используется в автоматизированных скриптах и при работе с различными типами файлов.