
Aushttps://linux.die.net/man/1/file:
Die magischen Tests werden verwendet, um nach Dateien mit Daten in bestimmten festen Formaten zu suchen. Das kanonische Beispiel hierfür ist eine binäre ausführbare Datei (kompiliertes Programm) , deren Format im Standard-Include-Verzeichnis und möglicherweise im Standard-Include-Verzeichnis
a.out
definiert ist . Diese Dateien haben eine „magische Nummer“, die an einer bestimmten Stelle nahe dem Anfang der Datei gespeichert ist und dem UNIX-Betriebssystem mitteilt, dass die Datei eine binäre ausführbare Datei ist und welcher von mehreren Typen davon. Das Konzept einer „Magie“ wurde durch Erweiterung auf Datendateien angewendet. Jede Datei mit einer invarianten Kennung an einem kleinen festen Offset in der Datei kann normalerweise auf diese Weise beschrieben werden. Die Informationen zur Identifizierung dieser Dateien werden aus der kompilierten magischen Datei gelesen oder aus den Dateien im Verzeichnis, wenn die kompilierte Datei nicht existiert. Darüber hinaus wird sie, falls sie oder existiert, bevorzugt vor den magischen Systemdateien verwendet. Falls sie existiert, wird sie zusammen mit anderen magischen Dateien verwendet.#include <a.out.h>
#include <exec.h>
/usr/share/misc/magic.mgc
/usr/share/misc/magic
$HOME/.magic.mgc
$HOME/.magic
/etc/magic
Gut. Wenn also eine Textdatei zufällig eine „magische Zahl“ enthält, die beispielsweise für ein mp4
Video an einer geeigneten Stelle spezifisch ist … führt dann ein Doppelklick auf eine solche Textdatei dazu, dass ein Videoplayer statt eines Texteditors gestartet wird?
Antwort1
Es kommt darauf an - Ihr Desktop kann Dateien indexieren, indem er ihren MIME-Typ mit betrachtet file
. Oder er betrachtet einfach die Dateierweiterung und glaubt, dass (siehe z. B.Eine Kurzreferenz zu Dateierweiterungen und MIME-Typen
).
In jedem Fall wird der Videoplayer seineeigenÜberprüfungen, um sicherzustellen, dass die Datei korrekt geladen wird. Nur eine naive Implementierung betrachtet nur die ersten paar Bytes.
Das file
Programm verwendet eine Mischung von Informationen (einschließlich Gewichtungen für die durchgeführten Maßnahmen). Eine MPEG4-Datei enthält viele Informationen, die file
möglicherweise nicht verwendet werden (oder nicht benötigt werden). Siehe zum BeispielMPEG-4 Part 14 Audio (M4A, M4B, M4P) Format und Wiederherstellungsbeispiel, UndMP4-Signaturformat: Dokumentations- und Wiederherstellungsbeispiel