[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal:Ein Terminal öffnen] }}} [[Inhaltsverzeichnis()]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] Mit dem Befehl '''tail''' lassen sich die letzten Zeilen einer Datei anzeigen. Wird nicht angegeben, wie viele Zeilen angezeigt werden sollen, werden die letzten 10 Zeilen ausgegeben. Werden mehrere Dateien übergeben, so wird die Ausgabe jeder Datei mit einer Kopfzeile versehen. Wird keine Datei angegeben, liest tail von der Standardeingabe. = Installation = Das Programm tail ist im essentiellen Paket * '''coreutils''' von Ubuntu enthalten und deshalb auf jedem System installiert. = Aufruf = Die allgemeine Syntax lautet [1]: {{{#!vorlage Befehl tail [OPTION] DATEI }}} `tail` kennt folgende Optionen: {{{#!vorlage Tabelle Optionen von `tail` +++ Option Beschreibung +++ `-c` oder `--bytes=N` Ausgabe der letzten N Bytes +++ ` -f` oder `--follow[={name|descriptor}]` Ausgabe der angehängten Daten, wenn die Datei wächst +++ `-F` Entspricht `--follow=name --retry` +++ `--help` Anzeige der Hilfe +++ `-n` oder `--lines=N` Ausgabe der letzten N Zeilen statt der standardmäßigen 10 +++ `--max-unchanged-stats=N` Zusammen mit `--follow=name`: Öffne eine Datei erneut, wenn sie ihre Größe nach N (Standard ist 5) Iterationen nicht geändert hat, um zu überprüfen, ob sie umbenannt oder gelöscht wurde. (Dies passiert in der Regel mit rotierten Log-Dateien) +++ `--pid=PID` Zusammen mit `-f`: Beenden, wenn der Prozess mit der ID "PID" fertig ist +++ `-q` oder `--quiet` oder `--silent` Kopfzeilen mit Dateinamen nicht ausgeben +++ `--retry` Versuche die Datei wiederholt zu öffnen, selbst wenn sie beim Start von tail nicht verfügbar war (nur in Verbindung mit `-f` nützlich) +++ `-v` oder `--verbose` Kopfzeilen mit Dateinamen immer ausgeben +++ `--version` Ausgabe der Versionsinformationen }}} Wenn das erste Zeichen in N (Die Anzahl der Zeilen oder Bytes) ein „+“ ist, wird die Datei ab dieser Zeile bzw. diesem Byte ausgegeben, ansonsten werden die letzten N Einheiten aus der Datei dargestellt. N darf einen Multiplikator-Anhang haben: b = 512, k = 1024, m = 1024*1024. Mit `--follow` (`-f`) folgt tail standardmäßig dem "file descriptor". Das bedeutet, dass das Ende der Datei selbst dann weiter verfolgt wird, wenn die Datei umbenannt wird. Dieses Verhalten ist nicht erwünscht, wenn man wirklich die Datei mit dem angegebenen Namen beobachten möchte (z.B. bei rotierenden Logfiles). In diesem Fall ist `--follow=name` zu verwenden: Dies veranlasst `tail` dazu, die beobachtete Datei nach ihrem Namen zu verfolgen, indem es die Datei periodisch öffnet, um zu überprüfen, ob sie gelöscht und neu erzeugt wurde. = Beispiele = Die letzten 10 Zeilen von '''DATEI_A.txt''' und '''DATEI_B.txt''' ausgeben: {{{#!vorlage Befehl tail DATEI_A.txt DATEI_B.txt }}} Die letzte Zeile der Datei '''DATEI_A.txt''' anzeigen: {{{#!vorlage Befehl tail -n1 DATEI_A.txt }}} Den Inhalt der Datei '''DATEI_A.txt''' ab der 42. Zeile anzeigen: {{{#!vorlage Befehl tail -n+42 DATEI_A.txt }}} Die Änderungen der Datei '''mein.log''' „live“ anzeigen: {{{#!vorlage Befehl tail -f mein.log }}} = Links = * [https://www.gnu.org/software/coreutils/ GNU Core Utilities] {en} * [:Shell/Befehlsübersicht:] {Übersicht} Übersicht über verschiedene Shell-Befehle # tag: Shell