GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux-Tail-Befehl mit Beispielen


Wie Sie vielleicht wissen, wird der Befehl cat verwendet, um den gesamten Inhalt einer Datei über die Standardeingabe anzuzeigen. Aber in einigen Fällen müssen wir den letzten Teil der Datei drucken. Unter Linux und Unix wird der tail-Befehl verwendet, um die letzten 10 Zeilen (standardmäßig) einer Datei mit der Standardausgabe anzuzeigen.

Der Befehl Tail wird häufig zum Ansehen und Analysieren von Dateien verwendet, da er neu angehängte Zeilen anzeigen kann. Diese Funktion wird hauptsächlich zum Anzeigen von Protokollen oder anderen Dateien verwendet, die von Zeit zu Zeit aktualisiert werden.

In diesem Tutorial lernen wir anhand einiger praktischer Beispiele, wie man den tail-Befehl unter Linux verwendet. Wir werden auch die Tail-Optionen im Detail durchgehen.

Syntax des Tail-Befehls

Die folgende Zeile zeigt die tail-Befehlssyntax:

tail [OPTION]... [FILE]...

Ohne OPTION oder FILE , akzeptiert der tail-Befehl Eingaben von STDIN. Wenn Sie also bei STDIN mehr als 10 Zeilen eingeben, werden nur die letzten 10 Zeilen angezeigt, wobei der Head-Befehl genau das Gegenteil des Tail-Befehls bewirkt.

Der Tail-Befehl kann einen oder mehrere Eingabedateinamen akzeptieren (FILE ).

1) Verwendung des tail-Befehls, um die letzten zehn Zeilen einer Datei anzuzeigen

Ohne Option, tail-Befehl mit Anzeige der letzten 10 Zeilen der Eingabedatei.

In den folgenden Beispielen zeigt der tail-Befehl die letzten 10 Zeilen der Datei „file1.txt“ an:

$ tail file1.txt
memtest86+_multiboot.bin
System.map-2.6.38-12-generic
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic

2) Zeigen Sie eine bestimmte (begrenzte) Anzahl von Zeilen an

Wenn Sie nur eine bestimmte Anzahl von Zeilen anzeigen möchten, müssen Sie die Option -n verwenden.

Wir können drei verschiedene Optionen verwenden, um die Anzahl der Zeilen zu begrenzen.

Die folgenden drei Befehle (-n100 , -n 100 , -100 ) die letzten 100 Zeilen aus der Datei „/var/log/apache2/error.log“ anzeigen:

$ tail -n100 /var/log/apache2/error.log

oder

$ tail -100 /var/log/apache2/error.log

oder

$ tail -n 100 /var/log/apache2/error.log

3) So zeigen Sie mehrere Dateien an

Der Tail-Befehl kann aus mehreren Dateien angezeigt werden, wenn er als Argument angegeben wird. Dann gibt es die letzten 10 Zeilen jeder Datei aus und mit einem Header, der den Namen der Datei anzeigt.

$ tail file1.txt file2.txt
==> file1.txt <== 
memtest86+_multiboot.bin 
System.map-2.6.38-12-generic 
System.map-2.6.38-13-generic
System.map-2.6.38-8-generic
vmcoreinfo-2.6.38-12-generic
vmcoreinfo-2.6.38-13-generic
vmcoreinfo-2.6.38-8-generic
vmlinuz-2.6.38-12-generic
vmlinuz-2.6.38-13-generic
vmlinuz-2.6.38-8-generic
==> file2.txt <==
smi.conf
snmp
sound
speech-dispatcher
ssh
ssl
sudoers
sudoers.d
sysctl.conf
tr command

Wenn Sie die Header ('==> file1.txt <==' und '==> file2.txt <==') nicht drucken möchten, können Sie den stillen Modus mit -q verwenden , --quiet oder --silent Möglichkeit. Diese Option kann zum Kombinieren von Dateien verwendet werden.

$ tail -q file1.txt file2.txt

Wenn Sie Header immer ausgeben möchten, auch wenn nur ein Dateiname als Argument angegeben wird, können Sie -v verwenden oder --verbose Möglichkeit

$ tail -v file1.txt

4) Anzeige der letzten spezifischen Bytes einer Datei

Um die letzten spezifischen Bytes der Datei anzuzeigen, verwenden Sie -c oder --bytes Option.

Der folgende tail-Befehl gibt die letzten 30 Bytes der Datei file2.txt aus:

$ tail -c 30 file2.txt
sudoers.d
sysctl.conf
sysctl.d

Alternativ können Sie -c +number verwenden um alles ab Byte number auszugeben .

$ tail -c +300 file1.txt

5) Dateiänderungen beobachten

Verwenden Sie -f oder --follow Option zur Überwachung von Dateiänderungen. Diese Option wird sehr häufig zur Überwachung und Fehlerbehebung von Protokolldateien verwendet.

Der folgende Befehl zeigt die letzten 10 Änderungen auf dem Terminal für die Datei „/var/log/Xorg.1.log“ an.

$ tail -f /var/log/Xorg.1.log
[ 86.774] (**) Option "xkb_layout" "us"
[ 86.774] (**) Option "xkb_options" "terminate:ctrl_alt_bksp"
[ 86.774] (II) Toshiba input device: (II) is tagged by udev as: Keyboard
[ 86.774] (II) Toshiba input device: (II) device is a keyboard
[ 88.453] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 88.453] (II) Vision stereo.
[ 102.094] (II) Display (Seiko/Epson (DFP-0)) does not support NVIDIA 3D
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

Das -f Die Option wartet immer auf die angehängten Daten und wird nicht von selbst beendet. Sie müssen Ctrl+C drücken zum Beenden.

Lassen Sie uns versuchen, die letzten 3 Zeilen einer Tail-Ausgabe mit dem -n anzuzeigen und f Optionen.

$ tail -n3 -f /var/log/Xorg.1.log
[ 102.094] (II) Vision stereo.
[ 540.435] (II) Axis 0x1 value 1158 is outside expected range
See https://wayland.freedesktop.org for details

Mit dem -fq Option können Sie Änderungen von mehreren Dateien überwachen.

$ tail -fq /var/log/Xorg.1.log file2.txt

Mit dem -s oder --sleep-interval (Standard ist 1 Sekunde), Sie können das Ruheintervall zwischen den Iterationen anpassen.

$ tail -f -s 4 /var/log/Xorg.1.log

Wie oben erwähnt mit dem -f Option beendet sich die Shell nicht von selbst, aber Sie können den Befehl mit --pid anweisen, sich zu beenden, nachdem ein Prozess stirbt Option.

Der Befehl wird beendet, sobald der Prozess mit PID 4309 stirbt.

$ tail -f file2.txt --pid=4309

Mit dem --retry Option können Sie weiterhin versuchen, eine Datei zu öffnen, auch wenn sie nicht mehr zugänglich ist oder wird. Sobald es zugänglich ist, wird die Ausgabe angezeigt.

$ tail -f file2.txt --retry

6) Schwanz mit Pfeifen verwenden

Der tail-Befehl kann zu/von anderen Befehlen geleitet werden, um optimierte Ergebnisse zu erzielen.

Das folgende Beispiel verwendet den Befehl ls, um alle Dateien und Verzeichnisse aufzulisten und alle Verzeichnisse ganz oben aufzulisten.

$ ls -l /etc | tail | sort
drwxr-xr-x.  2 root root   4096 Mar  3 08:15 yum.repos.d
drwxr-xr-x.  2 root root   4096 Mar  3 08:17 yum
drwxr-xr-x.  2 root root   4096 Sep 25 14:54 xinetd.d
drwxr-xr-x.  4 root root   4096 Sep 25 14:54 xdg
drwxr-xr-x.  6 root root   4096 Sep 25 14:54 X11
lrwxrwxrwx.  1 root root     12 Dec 19 15:43 yum.conf -> dnf/dnf.conf
-rw-r--r--.  1 root root   1204 Nov 11 19:08 virc
-rw-r--r--.  1 root root   1982 Nov 11 19:08 vimrc
-rw-r--r--.  1 root root     28 Sep 25 14:51 vconsole.conf
-rw-r--r--.  1 root root    642 Dec  9  2016 xattr.conf

Wenn Sie nach Anfragen für einen bestimmten Dateityp suchen möchten, verwenden Sie den folgenden Befehl:

$ tail -f /var/log/apache/myvirtualhost.log | grep .jpg

Im folgenden Beispiel wird der Ausgabe-Tail-Befehl weitergeleitet und mit dem Sortierbefehl wird der Inhalt von „continent.txt“ in alphabetischer Reihenfolge sortiert.

$ tail -n 5 continent.txt | sort
Africa
Antarctica
Asia
Australia
Europe

Schlussfolgerung

Jetzt haben wir gesehen, wie man den tail-Befehl und seine Optionen verwendet, um die letzten Zeilen einer Textdatei anzuzeigen. Ich hoffe, Sie hatten Spaß beim Lesen und hinterlassen Sie bitte Ihre Vorschläge im Kommentarbereich unten.


Linux
  1. Sortierbefehl in Linux mit Beispielen

  2. JQ-Befehl in Linux mit Beispielen

  3. Beispiele für Linux-Tail-Befehle

  4. ln-Befehlsbeispiele in Linux

  5. tail-Befehlsbeispiele in UNIX/Linux

Verwenden des Cat-Befehls unter Linux mit Beispielen

Linux-WC-Befehl mit Beispielen

Verwendung des Linux-mv-Befehls mit Beispielen

Linux-Mount-Befehl mit Beispielen

gawk Linux-Befehl mit Beispielen

Linux-make-Befehl mit Beispielen