head — Den Anfang von Dateien anzeigen
Praxis-Guide zu head: die ersten Zeilen oder Bytes einer Datei anzeigen, Kopfzeilen prüfen und Ausgaben in Pipelines begrenzen.
head zeigt dir den Anfang einer Datei – standardmäßig die ersten 10 Zeilen. Damit wirfst du blitzschnell einen Blick in große Dateien, prüfst die Kopfzeile einer CSV oder begrenzt in Pipelines eine Ausgabe auf die ersten Treffer. Über -n bestimmst du die Zeilenzahl, mit -c arbeitest du byteweise. Praktisch: GNU head versteht auch negative Angaben wie -n -3 (alles bis auf die letzten drei Zeilen). Dieser Guide zeigt dir die gängigen Optionen und ihre typischen Pipeline-Partner.
Grundlagen
head <file> — Die ersten 10 Zeilen einer Datei anzeigen (Standard).
head access.loghead -n <count> <file> — Die ersten N Zeilen einer Datei anzeigen.
head -n 20 access.loghead -<count> <file> — Kurzform für -n. Die ersten N Zeilen anzeigen.
head -5 data.csvhead -n -<count> <file> — Alle Zeilen außer den letzten N anzeigen.
head -n -3 data.txtByte-Modus
head -c <bytes> <file> — Die ersten N Bytes einer Datei statt Zeilen anzeigen.
head -c 100 binary.dathead -c <size>K <file> — Die ersten N Kilobytes anzeigen. Unterstützt die Suffixe K, M, G.
head -c 4K large-file.binhead -c -<bytes> <file> — Alle Bytes außer den letzten N anzeigen.
head -c -10 data.binMehrere Dateien
head <file1> <file2> — Die ersten 10 Zeilen jeder Datei mit Dateinamen-Kopfzeilen anzeigen.
head error.log access.loghead -n <count> <file1> <file2> — Die ersten N Zeilen mehrerer Dateien anzeigen.
head -n 5 *.loghead -q <file1> <file2> — Stiller Modus. Dateinamen-Kopfzeilen bei mehreren Dateien unterdrücken.
head -q -n 1 *.csvhead -v <file> — Ausführlicher Modus. Immer eine Dateinamen-Kopfzeile anzeigen, auch bei einer einzelnen Datei.
head -v -n 5 data.txtPipelines
<command> | head — Nur die ersten 10 Zeilen einer Befehlsausgabe anzeigen.
ps aux | head<command> | head -n <count> — Die Befehlsausgabe auf die ersten N Zeilen begrenzen.
find / -name '*.conf' 2>/dev/null | head -n 20<command> | head -n 1 — Nur die erste Zeile der Ausgabe holen (z. B. Kopfzeile oder erstes Ergebnis).
docker ps | head -n 1sort <file> | head -n <count> — Die ersten N Einträge nach dem Sortieren anzeigen (z. B. die kleinsten Werte).
sort -n scores.txt | head -n 5<command> | head -c <bytes> — Die Ausgabe einer Pipe auf eine bestimmte Byte-Anzahl begrenzen.
cat /dev/urandom | head -c 32 | base64Typische Muster
head -n 1 <file> — Nur die Kopfzeile einer CSV- oder TSV-Datei anzeigen.
head -n 1 data.csvhead -n 1 <file> && tail -n +2 <file> | sort — Kopfzeile ausgeben, dann die restlichen Datenzeilen sortieren.
head -n 1 data.csv && tail -n +2 data.csv | sort -t',' -k2head -c 4 <file> | xxd — Die Magic Bytes (Dateisignatur) einer Binärdatei prüfen.
head -c 4 image.png | xxdfor f in *.log; do echo "=== $f ==="; head -n 3 "$f"; done — Die ersten 3 Zeilen jeder Logdatei mit eigenen Überschriften anzeigen.
for f in *.log; do echo "=== $f ==="; head -n 3 "$f"; done Fazit
head ist das natürliche Gegenstück zu tail und gehört zu den schnellsten Wegen, eine Datei anzusehen, ohne sie komplett zu laden – ideal auch für riesige Dateien, da head nach genug Zeilen einfach aufhört zu lesen. Beachte, dass die negativen Angaben (head -n -3, head -c -10) eine GNU-Erweiterung sind und auf BSD oder macOS nicht funktionieren. Für das Herausschneiden eines mittleren Zeilenbereichs kombinierst du head mit tail, etwa head -n 20 | tail -n 5. Mit -c liest head auch Binärdaten – aber Vorsicht beim Mischen von -n und -c, denn die beiden schließen sich gegenseitig aus.
Weiterführende Links
- Wikipedia: head (Unix) – Überblick und Funktionsweise des Kommandos
- ubuntuusers-Wiki: head – deutschsprachige Einführung mit Beispielen