Что означает «магические тесты» для команды файла?

Я читал о file команде, и я наткнулся на то, что я не совсем понял:

файл предназначен для определения типа запрашиваемого файла …. файл выполняет это, выполняя три набора тестов в рассматриваемом файле:

  • тесты файловой системы,
  • магические тесты,
  • языковые тесты

Что такое магические тесты?

  • файл (1) и магия (5): описание других форматов
  • База данных команд команд и идентификационные файлы
  • Классификация файлов файлов Linux
  • 2 Solutions collect form web for “Что означает «магические тесты» для команды файла?”

    Это относится к «волшебным байтам», которые многие форматы файлов имеют в начале файла, которые показывают, какой файл это.

    Например, если файл начинается с #! то он считается сценарием.

    «magic» здесь означает « магические числа »: специальное значение, которое находится в известном месте в файле, который идентифицирует его тип. Команда file имеет базу данных этих чисел и какой тип они соответствуют. Библиотека, которая идет с этой базой данных, называется libmagic , и вы можете получить доступ к ней из своих собственных программ.

    Они не обязательно «цифры», как мы могли бы подумать о них. Например, файл изображения PNG всегда начинается с «\ x89PNG \ r \ n \ x1a \ n», класс Java начинается с четырех байтов (в шестнадцатеричном) CA FE BA BE, а в HTML-файле «<html» где-то рядом с началом. Это всего лишь небольшая последовательность данных, которая, как известно, находится в файле такого типа, как правило, очень близка к началу.

    Когда люди определяют форматы файлов, они часто включают в себя одно из них в нем либо намеренно, либо просто как часть согласования формата. file может использовать их впоследствии. У него также есть другие способы фактического просмотра содержимого файла, чтобы догадаться, что это («языковые тесты»).

    Interesting Posts

    Gimp пропускает библиотеки после установки скомпилированной версии и удаления пакета

    Как создать отдельный раздел usr во время установки арки?

    однозначно удалять нежелательные строки в нескольких файлах

    Как безопасно выполнить приведенные ниже изменения сетевых параметров в Solaris 10?

    Поиск неверсированных файлов в CVS-кассе

    SHH Туннелирование принимается только на некоторых портах

    Сколько санкционированных кнопок может / должно быть установлено в SSHD?

    Как показать время процессора для процессов через вершину без «корневых» процессов

    Системный файл CentOS 7 systemd (запустить скрипт python) работает, но регистрирует ошибки?

    Иногда мой zsh испортил конец строк

    Как добавить строку заголовка (внутри оболочки) к выходу любой команды

    Почему манджаро так популярен?

    Я случайно переместил каталог в «..». Куда он пошел?

    Есть ли какой-либо инструмент для просмотра статистики в реальном времени о графическом процессоре Radeon?

    Как сигналы обрабатываются в ядре

    Linux и Unix - лучшая ОС в мире.