file – Bestimmung des Dateityps

Inhaltsverzeichnis

Du kennst das Problem: Du findest eine Datei auf deinem Linux-System, aber du bist dir nicht sicher, was sie enthält oder welchen Typ sie hat. Gerade als Systemadministrator ist es essenziell, Dateien schnell und zuverlässig zu identifizieren, um Sicherheitsrisiken zu vermeiden, Skripte korrekt zu verarbeiten oder komprimierte Archive zu handhaben. Der file-Befehl ist dein zuverlässiger Helfer dafür, da er anhand von Magic Numbers und Inhalten den genauen Typ bestimmt, unabhängig von der Dateierweiterung. Die Grundlage hierfür ist /usr/share/file/magic.

Warum du den file-Befehl beherrschen solltest

Der file-Befehl analysiert Dateien präzise, indem er die ersten Bytes liest und mit einer Datenbank von Magic Patterns vergleicht. Das macht ihn unverzichtbar in der Systemadministration, etwa bei der Untersuchung unbekannter Downloads, der Automatisierung von Prozessen oder der Fehlersuche in Logs.

Du sparst Zeit und reduzierst Fehlerquellen, weil er Symlinks, spezielle Dateien und sogar komprimierte Inhalte handhabt. Ohne ihn müsstest du dich auf unzuverlässige Erweiterungen wie .txt oder .bin verlassen, die leicht getäuscht werden können.

Grundlegende Verwendung des file-Befehls

Rufe den Befehl einfach mit dem Dateinamen auf, und er gibt dir eine detaillierte Beschreibung des Typs zurück.

$ file /etc/passwd
/etc/passwd: ASCII text

Diese Ausgabe zeigt dir sofort, dass es sich um einen lesbaren Text handelt.

Für mehrere Dateien oder Verzeichnisse nutzt du Wildcards, um alle Typen auf einen Blick zu sehen.

file *

Das listet Typen aller Dateien im aktuellen Verzeichnis auf, z. B. directories, ASCII files oder executables.

Wichtige Optionen im Detail

-b oder –brief: Nur den Typ anzeigen

Mit dieser Option unterdrückst du den Dateinamen in der Ausgabe und erhältst eine knappe Typbeschreibung. Das ist praktisch für Skripte, wo du nur den Typ brauchst, ohne zusätzlichen Text.

Du sparst Ausgabebreite und machst die Ergebnisse maschinenlesbar. Tipp: Kombiniere es mit Pipes in Automatisierungen.

file -b image.jpg

-i oder –mime-type: MIME-Typ ermitteln

Diese Option gibt den MIME-Typ aus, der für Webserver, Mail-Systeme oder Skripte entscheidend ist. Du siehst z. B. text/plain oder application/pdf, was perfekt für Content-Filter passt. Sie ignoriert Erweiterungen und basiert rein auf Inhalt, was Fehlklassifikationen verhindert.

file -i document.pdf

-z oder –uncompress: Komprimierte Dateien prüfen

Der Befehl schaut in gzip, bzip2 oder tar.gz hinein und identifiziert den Inhalt. Als Admin prüfst du so schnell, ob ein Archiv Schadcode enthält, ohne es zu entpacken. Das spart Ressourcen und erhöht die Sicherheit bei unzuverlässigen Quellen.

file -z archive.tar.gz

-s oder –special-files: Spezielle Dateien analysieren

Für Block- oder Character-Devices wie /dev/sda liest file Metadaten. Du erkennst Partitionstypen oder Device-Details, was bei Storage-Management hilft. Ohne diese Option ignoriert file Devices – mit ihr wird alles sichtbar.

sudo file -s /dev/nvme0n1

Normalerweise prüft file den Link selbst; mit -L folgt er zum Ziel. Das ist nützlich bei symbolischen Verknüpfungen in /usr/bin oder Skripten.Du vermeidest Verwechslungen und siehst den wahren Dateityp.

file -L symlink_to_txt

Zusammenfassung

Der file-Befehl ist ein Eckpfeiler der Linux-Administration. Du lernst damit, Dateien blitzschnell zu klassifizieren, unabhängig von Namen oder Erweiterungen. Er schützt vor Tricksereien und optimiert deine Workflows. Nutze ihn täglich für Sicherheit und Effizienz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

224 Beiträge
14 Folgende