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

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

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

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

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

  • Классификация файлов файлов Linux
  • База данных команд команд и идентификационные файлы
  • файл (1) и магия (5): описание других форматов
  • 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

    Как я могу остановить последовательности смены заголовка от клонирования моих титулов экрана GNU?

    Fedora 17 замерзает при загрузке

    Как настроить мой gnome pannel, если он не отвечает на щелчок правой кнопкой мыши?

    Экран создания / возобновления сеанса, команда запуска

    Как получить размер памяти GPU для OpenCL?

    Используя cp, в чем разница между копированием и DESTECTOR?

    Var1 устанавливается в содержимое выполняемой команды, как установить Var2 в качестве команды из Var1

    Почему bzip2 -версия ведет себя странно?

    Виртуальные частные серверы BSD

    A while back – Распространение установочных носителей, которые могут загружаться на нескольких платформах?

    Почему / dev является подкаталогом / (корнем)?

    Firefox: используйте системные прокси-настройки, но где они?

    Что означает PROG = $ {0 ## * /} в сценарии bash?

    .bashrc перезаписан, но все еще источник – как его можно восстановить?

    Перемещение последних файлов из одного каталога в другой

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