Der Befehl tail gibt die letzten Zeilen (standardmäßig 10 Zeilen) einer oder mehrerer Dateien aus. Besonders nützlich ist die Fähigkeit, Dateien in Echtzeit zu überwachen – ideal für Log-Analyse.

Syntax

tail [OPTION]... [DATEI]...
  • OPTION - Optionen, die das Verhalten steuern.
  • DATEI - Eine oder mehrere Eingabedateien. Ohne Angabe liest tail von der Standardeingabe.

Grundlegende Verwendung

Ohne Optionen zeigt tail die letzten 10 Zeilen einer Datei:

tail /var/log/syslog

Eine bestimmte Anzahl von Zeilen anzeigen

Mit der Option -n (--lines) legst du fest, wie viele Zeilen ausgegeben werden:

tail -n 50 /var/log/syslog

Als Kurzform funktioniert auch -50 ohne den Buchstaben n:

tail -50 /var/log/syslog

Eine bestimmte Anzahl von Bytes anzeigen

Die Option -c (--bytes) gibt statt Zeilen eine bestimmte Anzahl von Bytes aus:

tail -c 500 /var/log/syslog

Multiplikator-Suffixe vereinfachen die Angabe größerer Werte: b (512 Bytes), k oder K (1024 Bytes), M (1048576 Bytes).

Die letzten 2 Kilobytes einer Datei:

tail -c 2k /var/log/syslog

Dateien in Echtzeit überwachen

Die Option -f (--follow) hält tail aktiv und zeigt neue Zeilen an, sobald sie zur Datei hinzugefügt werden:

tail -f /var/log/nginx/error.log

Das ist die häufigste Anwendung von tail – das Überwachen von Logdateien während der Fehlersuche. Beende die Überwachung mit Strg+C.

Rotierende Logdateien überwachen

Logrotation ersetzt die aktuelle Logdatei durch eine neue. Mit -f würde tail dann ins Leere laufen. Die Option -F (Großbuchstabe) erkennt dies und öffnet die neue Datei automatisch:

tail -F /var/log/apache2/access.log

Verwende -F anstelle von -f, wenn du Logdateien über längere Zeit beobachtest.

Mehrere Dateien anzeigen

tail verarbeitet mehrere Dateien und zeigt die letzten Zeilen jeder Datei mit einem Header:

tail /var/log/syslog /var/log/auth.log

Optionen wie -n gelten für alle angegebenen Dateien:

tail -n 20 /var/log/syslog /var/log/auth.log

Kombination mit anderen Befehlen

Über Pipes lässt sich tail mit anderen Befehlen verbinden. Das folgende Beispiel überwacht ein Apache-Zugriffslog und filtert nach einer bestimmten IP-Adresse:

tail -f /var/log/apache2/access.log | grep 192.168.1.100

Dieser Befehl zeigt die fünf Prozesse mit der höchsten CPU-Auslastung:

ps aux | sort -nk 3 | tail -5

Zusammenfassung

Der Befehl tail zeigt die letzten Zeilen einer Datei und ist das Gegenstück zu head, das die ersten Zeilen ausgibt. Die Option -f macht ihn zum unverzichtbaren Werkzeug für die Überwachung von Logdateien.

Verwandte Artikel