GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So bestimmen Sie den MIME-Typ einer Datei in Linux

Wenn Sie ein Linux-Benutzer sind, dessen Intuition stark mit der Webtechnologie verbunden ist, dann ist das Konzept von MIME Typen sollten in Ihre DNA eingeprägt sein .

MIME Typen helfen bei der Identifizierung von Dateiformaten und formatierten Inhalten während ihrer Übertragung über das Internet oder andere benutzerdefinierte Netzwerke.

Wenn Sie in einem Webbrowser eine vom Webserver gesendete Datei über HTTP erhalten, bevor der Webbrowser eine geeignete Methode zum Anzeigen der Datei auswählt, konsultiert der Webbrowser zuerst die MIME -Typen, um den Dateityp zu bestimmen, der verarbeitet werden soll.

Konzeption von MIME-Typen

MIME oder Mehrzweck-Internet-Mail-Erweiterungstypen , hilft Internetbenutzern, die Klassifizierung von Dateitypen zu standardisieren. Um MIME-Typen zu verstehen, sehen wir uns ein allgemeines MIME-Typ-Beispiel wie das folgende an:

text/html

In Bezug auf das obige MIME Geben Sie beispielsweise ein, wir können feststellen, dass es zwei Teile hat (type und Subtyp ), was ein wichtiger MIME-Typ ist Attribut. In diesem Fall der Text ist der Typ und html der Untertyp .

Andere gängige MIME-Typen Beispiele sind die folgenden:

application/pdf
application/zip
application/xml
text/xml
text/csv
text/plain
multipart/form-data    

Beachten Sie, dass sowohl der Typ und Subtyp Elemente eines MIME-Typs unterscheiden zwischen Groß- und Kleinschreibung. Sie gehen zu Recht davon aus, dass der Untertyp Teil eines MIME-Typs sind meist Medienformate wie pdf, xml, zip und csv. Der Untertyp des MIME-Typs kann jedoch auch ein Baumsuffix oder -präfix gemäß dem folgenden Standardformat des MIME-Typs enthalten:

type "/" [tree "."] subtype ["+" suffix] 

Ein perfektes MIME-Type-Beispiel in Bezug auf das obige vollständige MIME-Type-Format lautet wie folgt:

application/vnd.api+json

Das obige Beispiel ist die JSON-API Format eines API-spezifischen MIME-Typs, wobei der Typ eine Anwendung ist, der Subtyp API ist, das Herstellerpräfix vnd. ist und das Suffix +json.

ist

Ermitteln des MIME-Typs einer Datei unter Linux

Während MIME-Typen die Benennung von Dateitypen und den zugehörigen Formaten standardisiert haben, ist diese Funktionalität im Linux-Dateisystem weder gespeichert noch automatisiert.

Um den MIME-Typ einer Zieldatei unter Linux korrekt zu bestimmen, müssen wir die Erweiterung der Datei bestätigen und Inhalt .

  • MIME-Typen nach Dateierweiterung – Wenn die Dateierweiterung fehlt oder falsch ist, wie in dem Fall, in dem eine ZIP-Datei in eine JPG-Bilddateierweiterung umbenannt wird, ist die Bestimmung ihres MIME-Typs anhand der Dateierweiterung bedeutungslos.
  • MIME-Typen nach Dateiinhalt – Spezifische Eigenschaften des Dateiinhalts wie FF D9 und FF D8 Hex-Signaturen in JPG-Bilddateien helfen bei der Bestimmung des zugehörigen MIME-Typs. Der zusätzliche E/A-Aufwand bei diesem Ansatz macht ihn jedoch langsamer, aber immer noch zuverlässig.

Datei-MIME-Typen mit dem xdg-mime-Befehl suchen

Da die xdg-utils Paket hostet die xdg-mime Befehl, sollte es in fast allen Linux-Betriebssystemdistributionen verfügbar sein. Es bestimmt den MIME-Typ nur anhand der Dateierweiterung.

Die Referenzsyntax lautet wie folgt:

$ xdg-mime query filetype TARGETED_INPUT_FILE 

Lassen Sie uns versuchen, die MIME-Typen der folgenden Dateien zu bestimmen:

$ xdg-mime query filetype mypic.jpeg
$ xdg-mime query filetype sample_file.txt

Wir können auch die Erweiterung der Bilddatei entfernen und dennoch ihren MIME-Typ über diesen Befehl abrufen:

$ mv mypic.jpeg mypic
$ xdg-mime query filetype mypic 

Datei-MIME-Typen mit Dateibefehl drucken

Der Dateibefehl ist eine Standardinstallation in fast allen Linux-Betriebssystemdistributionen. Es bestimmt den MIME-Typ einer Datei sowohl anhand der Dateierweiterung als auch anhand des Dateiinhalts.

Seine Referenz-/Verwendungssyntax lautet wie folgt:

$ file --mime-type TARGETED_INPUT_FILE

Wir können es in den beiden gezeigten Dateitypen wie folgt implementieren:

$ file --mime-type mypic.jpeg
$ file --mime-type sample_file.txt

Lassen Sie uns auch das JPEG entfernen image-Dateierweiterung und überwachen Sie die Ausgabe dieses Befehls:

$ mv mypic.jpeg mypic
$ file --mime-type mypic

Leistungsgenauigkeit von xdg-mime vs. Dateibefehlen

Wenn wir die Dateierweiterung einer zufälligen Textdatei in ein Zip-Dateiformat ändern und den MIME-Typ dieser Datei überprüfen, indem wir sowohl xdg-mime und Datei Befehle, die Datei Befehl den MIME-Typ anhand des Dateiinhalts korrekt bestimmen kann.

$ mv output.txt output.zip
$ file --mime-type output.zip
$ xdg-mime query filetype output.zip 

Wir können jetzt den MIME-Typ bestimmen einer Datei basierend auf der Dateierweiterung, dem Dateiinhalt oder beidem in Linux.


Linux
  1. So verwalten Sie Linux-Dateifunktionen

  2. So finden Sie eine Datei in Linux

  3. So erstellen Sie einen Swap unter Linux

  4. So erstellen Sie eine Auslagerungsdatei unter Linux

  5. Wie kann ich den Dateisystemtyp unter Linux zuverlässig bestimmen?

So mounten Sie eine ISO-Datei unter Linux

Wie man eine Datei unter Linux ausführbar macht

So überprüfen Sie die Prüfsumme unter Linux

So benennen Sie eine Datei (en) in Linux um

So bestimmen Sie den MIME-Typ einer Datei in Linux

So verknüpfen Sie eine Datei unter Linux per Symlink