Определить по расширению, какой из файлов является текстовым

Обновлено: 22.11.2024

В Linux все рассматривается как файл. В UNIX семь стандартных типов файлов: обычные, каталоги, символические ссылки, специальные FIFO, специальные блочные, специальные символы и сокеты. В Linux/UNIX нам приходится иметь дело с файлами разных типов, чтобы эффективно управлять ими.

  1. Обычные файлы
  2. Файлы каталога
  3. Специальные файлы

Самый простой способ узнать тип файла в любой операционной системе – посмотреть на его расширение, такое как .txt, .sh, .py и т. д. Если у файла нет расширения, в Linux можно использовать файл полезность. В этой статье мы продемонстрируем примеры файловых команд для определения типа файла в Linux.

Чтобы узнать типы файлов, мы можем использовать команду file.

Синтаксис: файл [OPTION…] [FILE…]

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

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

Мы можем передать список файлов в одном файле и указать с помощью параметра -f, как показано ниже:

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

При использовании параметра -b имена файлов не добавляются к строкам вывода

При использовании параметра -F в качестве разделителя будет использоваться строка вместо «:».

Использование параметра -L будет следовать символическим ссылкам (по умолчанию, если установлено POSIXLY_CORRECT):

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

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

Мы также можем использовать команду ls для определения типа файла.

Синтаксис:

Типы файлов и объяснение

Обычные файлы

Обычные файлы — это обычные файлы в системе, содержащие программы, тексты или данные. Он используется для хранения такой информации, как текст или изображения. Эти файлы расположены в каталоге/папке. Обычные файлы содержат все читаемые файлы, такие как текстовые файлы, файлы Docx, программные файлы и т. д., двоичные файлы, файлы изображений, такие как JPG, PNG, SVG и т. д., сжатые файлы, такие как ZIP, RAR и т. д.

Пример:

Или мы можем использовать команду «file *», чтобы узнать тип файла

Файлы каталога

Единственной функцией файлов каталогов является хранение других обычных файлов, файлов каталогов и специальных файлов, а также связанной с ними информации. Этот тип файла будет обозначен синим цветом со ссылками, большими или равными 2. Файл каталога содержит запись для каждого файла и подкаталога, которые он содержит. Если у нас есть 10 файлов в каталоге, у нас будет 10 записей в файле каталога. Мы можем перемещаться между каталогами с помощью команды cd

Мы можем узнать файл каталога с помощью следующей команды:

Мы также можем использовать команду файла *

Специальные файлы

1. Блокировать файлы:

Блочные файлы действуют как прямой интерфейс к блочным устройствам, поэтому их также называют блочными устройствами. Блочное устройство — это любое устройство, которое выполняет операции ввода и вывода данных в единицах блоков. Эти файлы являются аппаратными файлами, и большинство из них находятся в каталоге /dev.

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

Мы также можем использовать команду файла:

2. Файлы символьных устройств:

Символьный файл — это аппаратный файл, который считывает/записывает данные в файле посимвольно. Эти файлы обеспечивают последовательный поток ввода или вывода и обеспечивают прямой доступ к аппаратным устройствам. Терминал, последовательные порты и т. д. являются примерами файлов этого типа.

Мы можем найти файлы символьных устройств следующим образом:

Мы можем использовать команду file, чтобы узнать тип файла:

3. Файлы каналов:

Другое название канала — «именованный» канал, который иногда называют FIFO. FIFO расшифровывается как «First In, First Out» и относится к свойству того, что порядок входящих байтов такой же, как и исходящих. «Имя» именованного канала на самом деле является именем файла в файловой системе. Этот файл отправляет данные от одного процесса к другому, так что процесс-получатель считывает данные в порядке поступления.

Мы можем узнать файл канала с помощью следующей команды:

Мы можем использовать команду file , чтобы узнать тип файла:

4. Файлы ссылок на символы:

Файл символьной ссылки — это тип файла в Linux, который указывает на другой файл или папку на вашем устройстве. Файлы символьных ссылок также называются Symlink и похожи на ярлыки в Windows.

Мы можем найти файл ссылки на символ с помощью следующей команды:

Мы можем использовать команду file, чтобы узнать тип файла:

5. Файлы сокетов:

Сокет — это специальный файл, который используется для передачи информации между приложениями и обеспечивает связь между двумя процессами. Мы можем создать файл сокета, используя системный вызов socket(). Файл сокета находится в /dev корневой папки, или вы можете использовать команду find / -type s для поиска файлов сокета.

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

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

Просмотр расширения отдельного файла

    файл.
  1. Выберите параметр «Свойства».
  2. В окне Свойства, похожем на то, что показано ниже, см. запись Тип файла, которая представляет собой тип и расширение файла. В приведенном ниже примере файл представляет собой файл TXT с расширением .txt. В этом случае файл открывается с помощью программы TextPad.

Всегда показывать расширения всех файлов

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

Windows 10

    .
  1. В панели управления введите файл в текстовое поле Панель управления поиском. Нажмите «Параметры проводника» в результатах поиска.
  2. В окне Параметры проводника щелкните вкладку "Вид".
  3. Снимите флажок с параметра Скрывать расширения для известных типов файлов.

Windows 2000, XP, Vista, 7 и 8

    .
  1. Нажмите "Параметры папки".
  2. Нажмите "Просмотр".
  3. Снимите флажок с параметра Скрывать расширения для известных типов файлов.
  1. Откройте Мой компьютер.
  2. Нажмите "Инструменты" и выберите "Параметры папки" или нажмите "Вид", а затем "Параметры" в зависимости от вашей версии Windows.
  3. В окне Параметры папки перейдите на вкладку "Вид".
  4. Снимите флажок с параметра Скрыть расширения файлов для известных типов файлов.

Командная строка MS-DOS и Windows

В MS-DOS при вводе dir для отображения списка всех файлов также отображается расширение каждого файла.

Иногда я получаю от клиентов файлы с неправильным расширением. Например, имя — image.jpg, но на самом деле файл представляет собой изображение в формате TIFF. Во многих случаях я могу уточнить это, открыв файл в текстовом редакторе, просматривая первые несколько байтов, а затем выясняя, какой это тип файла.

У меня это работает с файлами JPEG, TIFF, GIF и PDF. Однако существует гораздо больше типов файлов.

Можно ли автоматизировать идентификацию правильного типа файла путем анализа содержащихся данных?

Не понимаю, почему этот вопрос не по теме (спустя 3 года). Я не прошу конкретное программное обеспечение (я переформулировал свой вопрос, чтобы подчеркнуть это). Я просто прошу решения.

Я не понимаю, почему 26 человек считают, что комментарий выше, связанный с boehj *nix, "добавляет что-то полезное в пост". Этот вопрос помечен как windows , но комментарий подразумевает: «Вы не можете сделать это в Windows, вместо этого вы должны использовать * nix». Так? Комментарий адресован "для интересующихся". В чем? Сменить компьютер? :(

@Aacini Кроме того, Windows 10 теперь поддерживает bash, поэтому файл теперь является правильным ответом на этот вопрос (хотя я его не проверял).

6 ответов 6

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

Подстановочные знаки поддерживаются, поэтому в вашем примере вы можете просто поместить все изображения для проверки в папку, например C:\verifyimages — тогда можно использовать команду:

При этом будут проверены все файлы в папке verifyimages.

Также доступна версия с графическим интерфейсом, TrIDNet:

Доступна документация о том, как легко интегрировать TrID или TrIDNet в проводник Windows и Total Commander:

Проводник Windows

Тотал Командующий

У меня возникли проблемы с определением того, какие загружаемые файлы необходимы для использования этой программы. Так что этот комментарий должен помочь в этом. Вам нужно скачать два файла. Во-первых, либо утилита командной строки, либо утилита с графическим интерфейсом. Во-вторых, папка определений XML под названием «TrID XML defs». Поместите XML-файлы определения в тот же каталог, что и TRID. Затем просмотрите определения. Наконец-то вы можете начать его использовать.

Спасибо, mrtsherman, за разъяснение. Я тоже был в замешательстве. Документы можно улучшить, но это хороший инструмент!

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

Распечатываемый тип обычно содержит одно из слов text (файл содержит только печатать символы и несколько общих управляющих символов и, вероятно, безопасно читать на ASCII-терминале), исполняемый (файл содержит результат компиляции программы в форме, понятной тому или иному ядру UNIX), или данные, означающие что-либо еще (данные обычно являются «двоичными» или непечатаемыми). Исключениями являются хорошо известные форматы файлов (файлы ядра, tar-архивы), которые, как известно, содержат двоичные данные.

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

  • Университет Буффало
  • Университет Денвера
  • Пенсильванский университет

Бывший автор Lifewire Юрген Хаас – разработчик программного обеспечения, специалист по данным и поклонник операционной системы Linux.

Крис Селф (Chris Selph) — сертифицированный CompTIA преподаватель технологии и профессиональный преподаватель информационных технологий. Он также работает администратором сети и сервера и выполняет обслуживание и ремонт компьютеров для многочисленных клиентов.

Что нужно знать

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

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

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

Команда file имеет следующую форму:

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

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

touch.svg: изображение масштабируемой векторной графики SVG

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

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

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

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

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

  • /etc/пароль
  • /etc/pam.conf
  • /etc/opt

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

файл -f тестовые файлы

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

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

Еще один способ — запустить команду file один раз, но с указанием нескольких целей. Например:

файл /etc/passwd /etc/pam.conf /etc/opt

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

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

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

Чтобы проверить наличие каталогов, начинающихся с буквы D (с учетом регистра), попробуйте следующее:

Результаты могут быть, например, "Рабочий стол", "Документы" и "Загрузки".

Сжатые файлы

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

  • file.zip: данные ZIP-архива, версия не ниже 2.0 для извлечения

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

файл -z имя файла

Теперь на выходе отображаются типы файлов в архиве.

Как работает команда «файл»

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

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

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

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

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

  • /etc/магия
  • /usr/share/misc/magic.управляющий центр
  • /usr/share/misc/магия

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

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

Файл TEXT – это простой текстовый документ, содержащий неформатированный текст ASCII. Его можно открыть и отредактировать в любом текстовом редакторе или текстовом процессоре. Файлы TEXT чаще всего сохраняются как файлы .TXT.

TEXT-файл, открытый в Блокноте Microsoft

В файлах TEXT хранится текст, который можно просматривать и редактировать в Microsoft Notepad, Apple TextEdit и других текстовых редакторах. В отличие от файлов .RTF, .DOCX и .PAGES, файлы TEXT не могут включать расширенное форматирование, например выделение полужирным шрифтом, курсивом, стилями шрифта и выравниванием текста. Поскольку файлы TEXT не могут включать форматирование, они обычно содержат только основную информацию, такую ​​как примечания, пошаговые инструкции и журналы сведений о программе.

Пользователи, которым необходимо создавать более сложные текстовые документы, такие как резюме, отчеты, письма или листовки, обычно не сохраняют эти документы в виде файлов TEXT. Вместо этого они используют Microsoft Word или Apple Pages для создания и сохранения своих документов в виде файлов DOCX или PAGES.

Как открыть файл TEXT

Вы можете открыть файл TEXT в любом текстовом редакторе и большинстве популярных веб-браузеров. Ниже вы найдете инструкции по открытию файлов TEXT для конкретных платформ.

Как открыть файл TEXT в Windows?

В Windows вы можете открыть файл TEXT в Microsoft Notepad или Microsoft WordPad, которые поставляются вместе с Windows. Чтобы открыть файл TEXT в Блокноте:

  1. В меню "Пуск" Windows выберите "Стандартные Windows" → "Блокнот" .
  2. После открытия Блокнота выберите «Файл» → «Открыть». .
  3. Перейдите к файлу TEXT и откройте его.

Как открыть файл TEXT на Mac?

В macOS файл TEXT можно открыть в Apple TextEdit, который входит в состав операционной системы. Чтобы открыть файл TEXT в TextEdit:

  1. В Finder или Launchpad откройте TextEdit.
  2. В появившемся окне браузера файлов перейдите к файлу TEXT и откройте его.

Как открыть файл TEXT в Chrome OS?

На устройствах Chromebook вы можете открыть файл TEXT в Google Chrome Text, который входит в состав Chrome OS. Чтобы открыть файл TEXT в Google Chrome Text:

  1. Откройте панель запуска Chrome OS. Затем откройте Google Chrome Text.
  2. Нажмите кнопку "Открыть" в Google Chrome Text.
  3. Перейдите к файлу TEXT и откройте его.

Как открыть файл TEXT в веб-браузере?

Веб-браузеры Google Chrome, Mozilla Firefox и Microsoft Edge позволяют пользователям открывать файлы TEXT. Однако имейте в виду, что вы не сможете редактировать файл TEXT в веб-браузере.

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

Читайте также: