file
100%

Befehlszeile · Lektion 6

file

Lerne, den wahrscheinlichen Inhaltstyp einer Datei unabhängig von ihrem Namen oder ihrer Endung zu bestimmen.

In der vorherigen Lektion hast du mit touch eine Datei ohne Erweiterung erstellt. Unter Linux muss ein Dateiname nicht verraten, was eine Datei enthält: Eine Datei namens funny.gif ist nicht zwangsläufig ein GIF-Bild.

Mit file untersuchst du eine Datei und lässt dir ihren wahrscheinlichen Typ melden:

$ file banana.jpg
banana.jpg: JPEG image data

Warum Dateiendungen nicht ausreichen

Linux-Werkzeuge benötigen normalerweise keine Dateiendung, um den Dateityp zu bestimmen. Ein Shell-Skript kann backup, eine Textdatei README heißen und ein Bild kann eine irreführende Endung besitzen. file untersucht unter anderem Metadaten des Dateisystems und erkennbare Muster im Inhalt.

$ file README
README: ASCII text
$ file /bin/ls
/bin/ls: ELF 64-bit LSB executable

Das Ergebnis ist eine Klassifizierung, keine Garantie. Bei ungewöhnlichen, unvollständigen oder beschädigten Dateien liefert file möglicherweise nur eine allgemeine Beschreibung wie data.

Eine Datei namens report.jpg enthält möglicherweise kein Bild. Welcher Befehl prüft ihren wahrscheinlichen Inhaltstyp?

Mehrere Dateien prüfen

Du kannst mehrere Dateien auf einmal untersuchen:

$ file notes.txt image.png archive.tar.gz
notes.txt: ASCII text
image.png: PNG image data
archive.tar.gz: gzip compressed data

Auch ein Shell-Platzhalter ist möglich. Die Shell erweitert * zu den passenden Namen, bevor file sie untersucht:

$ file *

Welcher Befehl lässt file alle nicht versteckten Namen untersuchen, auf die * im aktuellen Verzeichnis passt?

MIME-Informationen anzeigen

Die Option -i gibt Informationen im MIME-Stil aus, darunter einen Medientyp und – sofern verfügbar – einen Zeichensatz. Diese Form ist nützlich, wenn ein anderes Programm Werte wie text/html erwartet.

$ file -i index.html
index.html: text/html; charset=us-ascii

Welcher Befehl meldet MIME-Informationen für index.html?

Nützliche file-Optionen

  • -i: Zeigt Informationen im MIME-Stil an.
  • -b: Verwendet den Kurzmodus und lässt den Dateinamen in der Ausgabe weg.
  • -L: Folgt symbolischen Links und klassifiziert deren Ziele.
  • -z: Versucht, den Inhalt komprimierter Dateien zu untersuchen.

Zum Beispiel:

$ file -b notes.txt
ASCII text

Welcher Befehl klassifiziert notes.txt, lässt aber den Dateinamen in der Ausgabe weg?

Lektion abgeschlossen

Sie haben file abgeschlossen

Du kannst nun mit file untersuchen, was eine Datei wahrscheinlich enthält.

  • Klassifiziere eine Datei, ohne ihrer Endung zu vertrauen.

  • Untersuche mehrere Pfade mit einem Befehl.

  • Fordere Informationen im MIME-Stil an.

  • Steuere den Umgang mit Links, komprimierten Daten und Ausgabebezeichnungen.

Lernfortschritt speichern

Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.

Kostenloses Konto erstellen
Nächste Lektion
Zurück zu Befehlszeile