So verwenden Sie den tail-Befehl unter Linux

Ein Terminalfenster mit einer Bash-Eingabeaufforderung auf einem Linux-Laptop im Ubuntu-Stil.

Fatmawati Achmad Zaenuri/Shutterstock



Das Linux |_+_| Befehl zeigt Daten vom Ende einer Datei an. Es kann sogar Aktualisierungen anzeigen, die einer Datei in Echtzeit hinzugefügt wurden. Wir zeigen Ihnen, wie Sie es verwenden.

Hat systemd den Schwanz getötet?

Die |_+_| Befehl zeigt Ihnen Daten vom Ende einer Datei. Normalerweise werden neue Daten am Ende einer Datei hinzugefügt, sodass |_+_| Befehl ist eine schnelle und einfache Möglichkeit, die neuesten Ergänzungen zu einer Datei anzuzeigen. Es kann auch eine Datei überwachen und jeden neuen Texteintrag in dieser Datei anzeigen, wenn er auftritt. Dies macht es zu einem großartigen Tool zum Überwachen von Protokolldateien.





Viele moderne Linux-Distributionen haben übernommen die |_+_| System- und Servicemanager . Dies ist der erste ausgeführte Prozess, er hat Prozess-ID 1 , und es ist das übergeordnete Element aller anderen Prozesse. Diese Rolle war früher behandelt von den Älteren |_+_| System.

Zusammen mit dieser Änderung kam ein neues Format für Systemprotokolldateien. Nicht mehr im Klartext erstellt, unter |_+_| sie werden in einem binären Format aufgezeichnet. Zu diese Protokolldateien lesen, müssen Sie verwenden die |_+_| Dienstprogramm. Die |_+_| Der Befehl funktioniert mit Nur-Text-Formaten. Es liest keine Binärdateien. Bedeutet das also die |_+_| Befehl ist eine Lösung auf der Suche nach einem Problem? Hat es noch etwas zu bieten?



Es gibt noch mehr zum |_+_| Befehl als das Anzeigen von Updates in Echtzeit. Außerdem gibt es immer noch viele Protokolldateien, die nicht vom System generiert werden und immer noch als reine Textdateien erstellt werden. Zum Beispiel Protokolldateien, die von Anwendungen haben ihr Format nicht geändert.

Schwanz benutzen

Übergeben Sie den Namen einer Datei an |_+_| und es zeigt Ihnen die letzten zehn Zeilen aus dieser Datei. Die von uns verwendeten Beispieldateien enthalten Listen mit sortierten Wörtern. Jede Zeile ist nummeriert, daher sollte es leicht sein, den Beispielen zu folgen und zu sehen, welche Auswirkungen die verschiedenen Optionen haben.

tail



Anzeige

Um eine andere Anzahl von Zeilen anzuzeigen, verwenden Sie |_+_| (Anzahl der Zeilen) Option:

tail

Eigentlich können Sie auf das -n verzichten und nur einen Bindestrich verwenden - und die Zahl. Stellen Sie sicher, dass keine Leerzeichen dazwischen sind. Technisch, Dies ist eine veraltete Befehlsform , aber es ist noch in der man-Seite , und es funktioniert immer noch.

tail

Tail mit mehreren Dateien verwenden

Du kannst |_+_| . haben mit mehreren Dateien gleichzeitig arbeiten. Übergeben Sie einfach die Dateinamen in der Befehlszeile:

systemd

Für jede Datei wird eine kleine Kopfzeile angezeigt, damit Sie wissen, zu welcher Datei die Zeilen gehören.

Anzeigen von Zeilen am Anfang einer Datei

Die |_+_| (von Anfang an zählen) Modifikator macht |_+_| Zeilen ab dem Anfang einer Datei anzeigen, beginnend mit einer bestimmten Zeilennummer. Wenn Ihre Datei sehr lang ist und Sie eine Zeile in der Nähe des Dateianfangs auswählen, werden viele Ausgaben an das Terminalfenster gesendet. Wenn dies der Fall ist, ist es sinnvoll, die Ausgabe von |_+_| . weiterzuleiten in |_+_|.

init

Anzeige

Sie können kontrolliert durch den Text blättern .

Da diese Datei zufällig 20.445 Zeilen enthält, entspricht dieser Befehl der Verwendung der Option -6:

systemd

Verwenden von Bytes mit Schwanz

Du kannst |_+_| . sagen um Offsets in Bytes anstelle von Zeilen zu verwenden, indem Sie |_+_| . verwenden (Byte)-Option. Dies kann nützlich sein, wenn Sie eine Textdatei haben, die in Datensätzen normaler Größe formatiert wurde. Beachten Sie, dass ein Newline-Zeichen als ein Byte zählt. Dieser Befehl zeigt die letzten 93 Bytes in der Datei an:

journactl

Sie können die |_+_| . kombinieren (Bytes) Option mit |_+_| (count from the start of the file) -Modifizierer und geben Sie einen Offset in Bytes an, die ab dem Anfang der Datei gezählt werden:

tail

Paspel in den Schwanz

Zuvor haben wir die Ausgabe von |_+_| . weitergeleitet in |_+_| . Wir können auch die Ausgabe anderer Befehle an |_+_| weiterleiten.

Um die fünf Dateien oder Ordner mit den ältesten Änderungszeiten zu identifizieren, verwenden Sie die |_+_| (nach Änderungszeit sortieren) Option mit |_+_| , und leiten Sie die Ausgabe in |_+_|.

tail

Anzeige

Die |_+_| Befehl listet Textzeilen vom Anfang einer Datei auf . Wir können dies mit |_+_| . kombinieren um einen Abschnitt der Datei zu extrahieren. Hier verwenden wir die |_+_| Befehl zum Extrahieren der ersten 200 Zeilen aus einer Datei. Dies wird in |_+_| geleitet, das die letzten zehn Zeilen extrahiert. Dadurch erhalten wir die Zeilen 191 bis Zeile 200. Das sind die letzten zehn Zeilen der ersten 200 Zeilen:

tail

Dieser Befehl listet die fünf speicherintensivsten Prozesse auf.

tail

Lassen Sie uns das aufschlüsseln.

Die |_+_| Befehl zeigt Informationen über laufende Prozesse an . Die verwendeten Optionen sind:

    zu: Listet alle Prozesse auf, nicht nur für den aktuellen Benutzer. du: Zeigt eine benutzerorientierte Ausgabe an. x: Alle Prozesse auflisten, einschließlich diejenigen, die nicht in einem TTY laufen .

Die |_+_| Befehl sortiert die Ausgabe von |_+_| . Die Optionen, die wir mit |_+_| . verwenden sind:

    n: Numerisch sortieren. k +4: Sortieren nach der vierten Spalte.

Die |_+_| Befehl zeigt die letzten fünf Prozesse aus der sortierten Ausgabe an. Dies sind die fünf speicherhungrigsten Prozesse.

Verwenden von tail zum Verfolgen von Dateien in Echtzeit

Das Verfolgen neuer Texteinträge, die in einer Datei – normalerweise einer Protokolldatei – eingehen, ist mit |_+_| einfach. Übergeben Sie den Dateinamen in der Befehlszeile und verwenden Sie das |_+_| (folgen) Option.

-n

Wenn jeder neue Protokolleintrag zur Protokolldatei hinzugefügt wird, aktualisiert tail seine Anzeige im Terminalfenster.

Anzeige

Sie können die Ausgabe so verfeinern, dass sie nur Zeilen von besonderer Relevanz oder Interesse enthält. Hier verwenden wir |_+_| zu nur Zeilen anzeigen, die enthalten das Wort Durchschnitt:

tail

Um die Änderungen an zwei oder mehr Dateien zu verfolgen, übergeben Sie die Dateinamen in der Befehlszeile:

+

Jeder Eintrag ist mit einer Kopfzeile versehen, die anzeigt, aus welcher Datei der Text stammt.

Ausgabe von tail -f -n 5 geek-1.log geek-2.log

Die Anzeige wird jedes Mal aktualisiert, wenn ein neuer Eintrag in einer verfolgten Datei eintrifft. Um den Aktualisierungszeitraum anzugeben, verwenden Sie |_+_| (Schlafperiode) Option. Dies sagt |_+_| um einige Sekunden, in diesem Beispiel fünf, zwischen den Dateiprüfungen zu warten.

tail

Zugegeben, man kann es nicht anhand eines Screenshots erkennen, aber die Updates zur Datei passieren alle zwei Sekunden. Die neuen Dateieinträge werden im Terminalfenster angezeigt einmal alle fünf Sekunden.

Ausgabe von tail -f -s 5 geek-1.log

Wenn Sie den Textergänzungen in mehr als einer Datei folgen, können Sie die Kopfzeilen unterdrücken, die angeben, aus welcher Protokolldatei der Text stammt. Verwenden Sie die |_+_| (leise) Möglichkeit dazu:

tail

Anzeige

Die Ausgabe der Dateien wird in einer nahtlosen Textmischung angezeigt. Es gibt keinen Hinweis, aus welcher Protokolldatei jeder Eintrag stammt.

Schwanz hat immer noch Wert

Obwohl der Zugriff auf die Systemprotokolldateien jetzt von |_+_| bereitgestellt wird, |_+_| hat noch einiges zu bieten. Dies gilt insbesondere, wenn es in Verbindung mit anderen Befehlen verwendet wird, indem in oder aus |_+_| geleitet wird.

|_+_| könnte die Landschaft verändert haben, aber es gibt immer noch einen Platz für traditionelle Dienstprogramme, die der Unix-Philosophie entsprechen, eine Sache zu tun und sie gut zu machen.

Linux-Befehle
Dateien Teer · pv · Katze · tac · chmod · Griff · unterschied · sed · Mit · Mann · geschoben · popd · fsck · Testdisk · seq · fd · pandoc · CD · $PFAD · awk · beitreten · jq · falten · einzigartig · Journalctl · Schwanz · Zustand · ls · fstab · rauswerfen · weniger · chgrp · chown · rev · suchen · Saiten · Typ · umbenennen · Postleitzahl · entpacken · montieren · ummount · Installieren · fdisk · mkfs · rm · rmdir · rsync · df · gpg · wir · Nano · mkdir · von · ln · Patch · Konvertieren · rclon · Fetzen · SRM
Prozesse alias · Bildschirm · oben · nett · renice · Fortschritt · strace · System · tmux · chsh · Geschichte · beim · Charge · kostenlos · die · dmesg · Benutzermod · ps · chroot · xargs · tty · kleiner Finger · lsof · vmstat · Auszeit · Mauer · ja · töten · Schlaf · sudo · seine · Zeit · groupadd · Benutzermod · Gruppen · lshw · stilllegen · neu starten · halt · ausschalten · passwd · lscpu · crontab · Datum · bg · fg
Vernetzung netstat · Klingeln · Traceroute · ip · ss · Wer ist · fail2ban · bmon · Sie · Finger · nmap · ftp · Locken · wget · Wer · Wer bin ich · In · iptables · ssh-keygen · ufw

VERBUNDEN: Beste Linux-Laptops für Entwickler und Enthusiasten

WEITER LESEN Profilfoto von Dave McKay Dave McKay
Dave McKay benutzte zum ersten Mal Computer, als Lochstreifen in Mode waren, und programmiert seitdem. Nach über 30 Jahren in der IT-Branche ist er heute hauptberuflich Technologiejournalist. Im Laufe seiner Karriere war er als freiberuflicher Programmierer, Leiter eines internationalen Softwareentwicklungsteams, Projektleiter für IT-Services und zuletzt als Datenschutzbeauftragter tätig. Sein Schreiben wurde von howtogeek.com, cloudavvyit.com, itenterpriser.com und opensource.com veröffentlicht. Dave ist ein Linux-Evangelist und Open-Source-Verfechter.
Vollständige Biografie lesen

Interessante Artikel