Linux посмотреть тип файла

Как узнать типы файлов в Linux

Самый простой способ определить тип файла в любой операционной системе — это обычно посмотреть его расширение (например, .xml, .sh, .c, .tar и т. Д.). Что делать, если у файла нет расширения, как определить его тип?

В Linux есть полезная утилита под названием file, которая выполняет некоторые тесты для указанного файла и печатает тип файла после успешного выполнения теста. В этой короткой статье мы объясним примеры полезных файловых команд для определения типа файла в Linux.

Примечание. Чтобы использовать все параметры, описанные в этой статье, у вас должен быть файл версии 5.25 (доступен в репозиториях Ubuntu) или новее. В репозиториях CentOS есть более старая версия команды file (file-5.11), в которой отсутствуют некоторые параметры.

Вы можете запустить следующую команду, чтобы проверить версию файловой утилиты, как показано.

Примеры команд файла Linux

1. Самая простая команда для работы с файлом выглядит следующим образом: вы просто указываете файл, тип которого вы хотите узнать.

2. Вы также можете передать имена файлов для проверки из файла (по одному в каждой строке), которые вы можете указать с помощью флага -f , как показано.

3. Чтобы файл работал быстрее, вы можете исключить тест (допустимые тесты включают apptype, ascii, encoding, tokens, cdf, compress, elf, soft и tar) из списка тестов, сделанных для определения типа файла, используйте -e , как показано.

4. Параметр -s заставляет файл также читать, например, блочные или символьные специальные файлы.

5. Добавление параметров -z указывает файлу искать внутри сжатых файлов.

6. Если вы хотите сообщить информацию только о содержимом, а не о сжатии сжатого файла, используйте флаг -Z .

7. Вы можете указать команде файла выводить строки типа mime вместо более традиционных, удобочитаемых человеком, используя параметр -i .

8. Кроме того, вы можете получить список допустимых расширений, разделенных косой чертой, для найденного типа файла, добавив переключатель –расширение.

Для получения дополнительной информации и опций использования обратитесь к странице руководства файловой команды.

Это все! Команда file — полезная утилита Linux для определения типа файла без расширения. В этой статье мы поделились некоторыми полезными примерами файловых команд. Если у вас есть какие-либо вопросы или мысли, используйте форму обратной связи ниже, чтобы связаться с нами.

Источник

Как определить тип файла файла с помощью Linux

Найдите тип файла любого файла или группы файлов с помощью команды FILE

Большинство людей смотрят на расширение файла, а затем угадывают тип файла с этим расширением. Например, когда вы видите файл с расширением gif, jpg, bmp или png, вы думаете о файле изображения, а когда вы видите файл с расширением zip, вы предполагаете, что файл был сжат с помощью утилиты сжатия zip ,

В действительности, файл может иметь одно расширение, но быть чем-то совершенно другим. В Linux вы узнаете истинный тип файла с помощью команды file .

Как работает команда File

Команда file выполняет три набора тестов для файла:

  • Тесты файловой системы
  • Магические тесты
  • Языковые тесты

Первый набор тестов для возврата правильного ответа приводит к печати типа файла.

Тесты файловой системы проверяют отдачу от системного вызова stat. Программа проверяет, является ли файл пустым и является ли он специальным файлом. Если тип файла найден в системном заголовочном файле, он возвращается как допустимый тип файла.

Читайте также:  Pinging linux from windows

Магические тесты проверяют содержимое файла и, в частности, несколько байтов в начале, которые помогают определить тип файла. Различные файлы используются, чтобы помочь сопоставить файл с его типом файла, и они хранятся в:

Переопределите эти файлы, поместив файл в вашу домашнюю папку с именем $ HOME/.magic.mgc или $ HOME/.magic.

Финальные тесты – языковые тесты. Файл проверяется, чтобы увидеть, является ли он текстовым файлом. Тестируя первые несколько байтов файла, тест может определить, является ли файл ASCII, UTF-8, UTF-16 или другим форматом, который идентифицирует файл как текстовый файл. Когда выводится набор символов, файл проверяется на разных языках.

Если ни один из тестов не работает, выводом являются данные.

Как использовать команду «Файл»

Команда file может быть использована следующим образом:

Например, представьте, что у вас есть файл с именем file1, и вы запускаете следующую команду:

Вывод примерно такой:

Выходные данные определяют, что file1 – это файл изображения или, точнее, файл переносимой сетевой графики (PNG).

Различные типы файлов дают разные результаты:

  • Тип файла ODS : электронная таблица OpenDocument
  • Тип файла PDF : документ PDF, версия 1.4
  • Тип файла CSV : текст ASCII, с очень длинными строками, с индикаторами строк CRLF

Настройте вывод из команды File

По умолчанию команда file предоставляет имя файла и все детали над файлом. Если вы хотите, чтобы только детали без имени файла повторялись, используйте следующий переключатель:

Вывод примерно такой:

Вы также можете изменить разделитель между именем файла и типом. По умолчанию в качестве разделителя используется двоеточие, но вы можете изменить его на что угодно, например на символ канала, следующим образом:

Вывод примерно такой:

Обработка нескольких файлов

По умолчанию вы используете команду file для одного файла. Однако вы можете указать имя файла, которое содержит список файлов, которые будут обработаны командой file.

Например, откройте файл с именем testfiles с помощью редактора nano и добавьте в него следующие строки:

Сохраните файл и выполните следующую команду:

Результат будет примерно таким:

  • /etc/passwd: текст ASCII
  • /etc/pam.conf: текст ASCII
  • /etc/opt: каталог

Сжатые файлы

По умолчанию, когда вы запускаете команду file для сжатого файла, вы видите что-то вроде этого:

Хотя это говорит о том, что файл является архивом, вы не знаете его содержимого. Вы можете заглянуть внутрь zip-файла, чтобы увидеть типы файлов в сжатом файле. Следующая команда запускает команду file для файлов внутри ZIP-файла:

Вывод теперь показывает типы файлов файлов в архиве.

Большинство людей используют команду file, чтобы найти основной тип файла.Чтобы узнать больше о возможностях, которые предлагает команда file, введите в окне терминала следующее:

Эта команда открывает документацию по программному обеспечению Linux, включенную в систему.

Источник

Как найти / определить типы файлов в Linux

Вы можете выполнить следующую команду для проверки версии файловой утилиты, как показано.

Примеры команд file Linux

1. Простейшая команда file следующая, где вы просто предоставляете файл, тип которого вы хотите узнать.

2. Вы также можете передать имена файлов, которые будут проверяться, из файла (по одному на строку), который можно указать с помощью флага -f, как показано ниже:

3. Чтобы ускорить работу file, вы можете исключить тест (допустимые тесты включают apptype, ascii, encoding, token, cdf, compress, эльф, soft и tar) из списка тестов, выполненных для определения типа файла, используйте -e как показано на рисунке.

4. Параметр -s заставляет файл также считывать специальные файлы блоков или символов.

5. Добавление опций -z указывает файл для просмотра сжатых файлов.

6. Если вы хотите сообщить информацию о содержимом, а не сжатие сжатого файла, используйте флаг -Z.

7. Вы можете указать команде file выводить строки типа mime вместо более традиционных для чтения, используя опцию -i.

8. Кроме того, вы можете получить список допустимых расширений с косой чертой для типа файла, найденного добавлением -extension.

Дополнительные сведения и варианты использования см. На странице руководства команды.

Источник

Команда file в Linux

Команда file — одна из самых полезных, поскольку позволяет узнать тип данных, которые на самом деле содержатся внутри документа. Если у вас есть какой-либо файл, взятый из ненадёжного источника, не поленитесь проверить его с помощью этой команды, прежде чем нажать кнопку Открыть. Возможно, такая предосторожность покажется лишней, но она оградит вас от «встречи» с нежелательным контентом.

Читайте также:  Операционные системы windows оригинальный образ

В большинстве дистрибутивов Linux утилита file (работу которой и запускает одноимённая команда) входит в стандартный набор программного обеспечения.

Синтаксис и опции file

Синтаксис команды file достаточно простой. Записывать её в эмуляторе терминала или консоли следует так:

file опции название_документа

Что же касается опций, то их у этой команды несколько десятков. Мы рассмотрим лишь основные:

  • -b, —brief — запрет на демонстрацию имен и адресов файлов в выводе команды;
  • -i, —mime — определение MIME-типа документа по его заголовку;
  • —mime-type, —mime-encoding — определение конкретного элемента MIME;
  • -f, —files-from — анализ документов, адреса которых указаны в простом текстовом файле;
  • -l, —list — список паттернов и их длина;
  • -s, —special-files — предотвращение проблем, которые могут возникнуть при чтении утилитой специальных файлов;
  • -P — анализ определенной части файла, которая обозначается различными параметрами;
  • -r, —raw — отказ от вывода /ooo вместо непечатных символов;
  • -z — анализ содержимого сжатых документов.

Для того, чтобы ознакомиться с полным списком опций, выполните в терминале команду:

Примеры использования file

Если вам нужно всего лишь посмотреть тип файла, использовать опции не обязательно. Достаточно прописать имя команды, а также название файла и путь к нему, при условии, что он находится не в корневой папке:

Случается, что нужно проверить не один, а несколько файлов. Чтобы не выполнять команду много раз подряд, перечисляйте названия всех файлов через пробел:

file /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file2.tiff

Как видно на примере, картинки с расширениями gif и tiff в действительности оказались текстовыми документами, а архив с расширением zip — PDF документом. Кстати, команда file даёт возможность не только проверить, является ли архив архивом, но и заглянуть внутрь, чтобы узнать, что в нём содержится. Для этой цели используется опция -z:

file -z /home/main-user/losst/testarchive.zip

Как вы успели заметить, команда, возвращая ответ, постоянно выводит названия файлов, что в некоторых случаях бывает удобно, но зачастую только усложняет чтение результатов. Отключить эту функцию легко — воспользуйтесь опцией -b:

file -b /home/main-user/losst/test-file.gif /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file2.tiff

Иногда нужно узнать не просто тип файла, а его MIME-тип. В таком случае на помощь приходит опция -i:

file -i -b /home/main-user/losst/fileA.sbin /home/main-user/losst/fileG.aspx /home/main-user/losst/fileH.lua

Нередко по каким-либо причинам утилита не может найти указанный файл: например, вы ошиблись буквой в его названии или неверно указали папку, в которой он находится. Тогда вывод информации об этом файле предваряет фраза cannot open. Впрочем, есть возможность видоизменить результат, добавив в него сообщение об ошибке. Для этого используйте опцию -E.

Сравните вывод команды с опцией -E и без неё:

file -E -b /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file4.raw /home/main-user/losst/test-file.gif

file -b /home/main-user/losst/test-file1.zip /home/main-user/losst/test-file4.raw /home/main-user/losst/test-file.gif

Еще один способ работы с утилитой file — запись названий и адресов документов в простой текстовый файл. Применяя этот способ на практике, не забывайте добавлять к команде опцию —files-from, после которой указывайте имя файла, содержащего список документов, и путь к нему.

file —files-from /home/main-user/losst/list_of_files.txt

Выводы

Команда file помогает избежать ситуаций, когда вам приходится открывать подозрительные файлы, не будучи уверенными в их содержимом. Также вы можете использовать её для проверки содержимого нескольких архивов, если есть необходимость найти потерявшийся в большом массиве файлов документ, но нет желания просматривать все архивы вручную.

Источник

IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.

#006 Linux Mint. Команды для определения типа файлов и их просмотра (ls, file, cat, head, tail, less, more, wc)

Привет, посетитель сайта ZametkiNaPolyah.ru! В рубрике, посвященной системе Linux мы уже разобрались с несколькими полезными командами, которые дают нам возможность изучать систему и передвигаться по лабиринту каталогов. Теперь я предлагаю поговорить о командах, которые дают нам возможность более тесно познакомиться с системой, а именно о командах Linux, которые позволяют просматривать файлы и определять тип их содержимого.

Всего мы рассмотрим восемь команд: ls, file, cat, head, tail, less, more, wc. Давайте во вступлении коротко расскажу о их назначении. Команда ls в Unix-подобных операционных системах позволяет просматривать содержимое каталогов, мы уже о ней упоминали ранее. Команда file в Linux позволяет определить тип файла, в прошлой публикации я уже подробно описал эту команду, но приходится повторяться, иначе эта публикация будет не полной. Команда cat в самом простом своем варианте позволяет просмотреть содержимое файла, выводя его на экран эмулятора терминала, что не всегда бывает удобно. Команда head выводит первых 10 строк файла на экран эмулятора терминала хотя ее поведение можно изменить при помощи параметров. Команда tail в своем стандартном режиме работы выводит последних 10 строк файл на экран, ее поведение также меняется параметрами. Команда less в Linux используется для просмотра больших файлов, использовать ее удобнее, чем команду cat, поскольку она разбивает содержимое файла на страницы и дает возможность осуществлять поиск по файлу. Команда more не рекомендована к использованию, так как есть команда less, ее я упоминаю лишь потому, что есть некоторые дистрибутивы Linux, в которых есть more, но нет less. И наконец команда wc используется в системах Linux для определения размера файлов, причем команда wc может выводить размер файла в попугаях, удавах и мартышках, вернее в байтах, строках, символах и других единицах измерения.

Читайте также:  Windows переменная рабочего стола

Немного о файлах в Linux

Перед тем как мы начнем рассматривать команды оболочки, которые дают возможность просматривать файлы и получать о них информацию, давайте немного поговорим о самих файлах. Буквально в прошлой публикации я отмечал два очень важных момента, касающихся файлов в Linux: все сущее в Unix-подобных операционных системах есть файл и для определения типа файлов операционным системам типа Linux вовсе не требуется расширения, хотя в Linux есть приложения, которые определяют тип файла по его расширению.

Также стоит заметить, что в Linux, в том числе и в дистрибутиве Linux Mint, есть специальные файлы, имена которых начинаются с точки, эти файлы считаются скрытыми и, например, когда мы пользуемся командной ls без дополнительных параметров, мы эти файлы не увидим. Чуть позже мы посмотрим мой домашний каталог и обнаружим несколько скрытых файлов, которые хранят в себе различные параметры учетной записи пользователя, такие файлы называются конфигурационным, пользуясь Linux, вам придется часто работать с такими файлами: просматривать и редактировать их.

Также стоит заметить, что операционные системы подобные Unix различают регистр символов в именах файлов, например: file1, File1 и FILE1 – это три разных файла, хотя содержимое у них может быть одинаковым.

Обычно любой дистрибутив Linux сможет работать с файлами, имена которых содержат пробелы, кириллицу и знаки пунктуации, но использовать пробелы, кириллицу и знаки пунктуации (кроме точки, дефиса и нижнего подчеркивания) не стоит для своего удобства. Рекомендация: если имя вашего файла состоит из двух слов, то вместо пробелов используйте нижнее подчеркивание, подобная практика даст вам повод в будущем любить себя прошлого так, как будто вы нашли деньги в куртке, которую давно не носили.

Тут нам стоит отметить, что не только файлы, но и каталоги в Linux могут быть с точкой, например, каталог .ssh. Что же, на данном этапе нам достаточно полученной информации, чтобы начать знакомство с некоторыми полезными и часто используемыми командами.

Если у вас еще не установлена копия дистрибутива Linux и вы не знаете как это сделать, то рекомендую вам ознакомиться с несколькими публикациями, где я последовательно рассказываю про виртуальную машину Oracle VirtualBox и ее установку на Windows 10, затем перейдите к публикации про установку дистрибутива Linux Mint на виртуальную машину, а чтобы быстрее разобраться с интерфейсом VirtualBox ознакомьтесь с небольшой инструкцией.

ls – команда для получения информации о файлах в каталоге Linux

Мы уже видели возможности команды ls , когда говорили про навигацию в Linux , но ее возможности куда шире благодаря дополнительным параметра, некоторые из них мы сейчас и рассмотрим. Так выглядит результат работы команды ls без параметров для моего домашнего каталога:

Источник

Оцените статью