Wie Verwenden Sie den tail-Befehl unter Linux

0
465
Fatmawati Achmad Zaenuri/Shutterstock

Die Linux-tail-Befehl zeigt die Daten am Ende einer Datei. Es kann sogar angezeigt, updates, die Hinzugefügt werden, um eine Datei in Echtzeit. Wir zeigen Ihnen, wie es zu benutzen.

Hat systemd Töten Schwanz?

Der tail-Befehl zeigt Ihnen die Daten am Ende einer Datei. In der Regel werden neue Daten an das Ende einer Datei, so dass der tail-Befehl ist eine schnelle und einfache Möglichkeit, um zu sehen, die jüngsten Ergänzungen in einer Datei. Es kann auch überwachen Sie eine Datei und zeigen jede neue Eingabe von text in diese Datei, sobald Sie auftreten. Dies macht es ein großartiges Werkzeug zum überwachen von log-Dateien.

Viele moderne Linux-Distributionen übernommen haben die systemd-system-und service manager. Dies ist der erste Prozess ausgeführt, er hat die Prozess-ID 1, und Sie ist die Muttergesellschaft aller anderen Prozesse. Diese Rolle verwendet werden, werden von der älteren init-system.

Zusammen mit dieser änderung kam ein neues format für die system-log-Dateien. Nicht mehr erstellt werden, im Klartext, unter systemd sind Sie aufgenommen in einem binären format. Lesen Sie diese log-Dateien verwenden, müssen Sie die journactl-Dienstprogramm. Der tail-Befehl funktioniert mit plain-text-Formate. Es liest keine binären Dateien. Also bedeutet das, dass der tail-Befehl ist eine Lösung die nach einem problem suchen? Es tut noch alles zu bieten?

Es gibt mehr zu den tail-Befehl, als dass Sie updates in Echtzeit. Und für diese Angelegenheit, es gibt immer noch viele log-Dateien, die nicht vom system generiert werden und werden noch erstellt, als text-Dateien. Zum Beispiel, log-Dateien generiert, die von Anwendungen nicht verändert deren format.

Mit Schwanz

Übergeben Sie den Namen einer Datei an tail und es wird sich zeigen Sie die letzten zehn Zeilen aus dieser Datei. Die Beispiel-Dateien, die wir verwenden enthalten Listen, sortiert Worte. Jede Zeile ist nummeriert, so ist es sollte leicht zu Folgen, die Beispiele und sehen Sie, welchen Effekt die verschiedenen Optionen haben.

Schwanz word-list.txt

Um eine unterschiedliche Anzahl von Linien, die-n (Anzahl der Zeilen) option:

tail-n 15 word-list.txt

Tatsächlich, Sie können verzichten auf das “-n”, und benutzen Sie einfach einen Bindestrich “-” und die Nummer. Stellen Sie sicher, dass es kein Leerzeichen zwischen Ihnen. Technisch, dies ist ein veralteter Befehl, aber es ist immer noch in der man-page, und es funktioniert immer noch.

Schwanz -12 word-list.txt

Mit Code tail Mit Mehreren Dateien

Sie haben Schwanz arbeiten mit mehreren Dateien auf einmal. Übergeben Sie einfach die Dateinamen auf der Kommandozeile:

tail-n 4 list-1.txt list-2.txt list-3.txt

Einen kleinen header angezeigt wird für jede Datei, so dass Sie wissen, welche Datei die Zeilen gehören.

Anzeigen von Zeilen vom Beginn der Datei

Die + (Zählung vom start) – Modifizierer macht Schwanz display-Zeilen vom Anfang der Datei, beginnend bei einer bestimmten Zeilennummer. Wenn Sie Ihre Datei ist sehr lang, und Holen Sie eine Linie in der Nähe der Anfang der Datei, die Sie gehen zu bekommen eine Menge von Ausgabe an das terminal-Fenster. Wenn das der Fall ist, macht es Sinn, leiten Sie die Ausgabe von tail in weniger.

Schwanz +440 list-1.txt

Sie können die Seite durch den text in einer kontrollierten Art und Weise.

Weil es zufällig 20,445 Zeilen in dieser Datei dieser Befehl entspricht der Verwendung der “-6” – option:

Schwanz +20440 list-1.txt

Unter Verwendung von Bytes Mit Schwanz

Man kann sagen, Schwanz-verwenden Sie offsets in bytes anstelle von Linien mithilfe der-c (Byte) – option. Dies könnte nützlich sein, wenn Sie eine Datei von text, der formatiert ist in regulärer Größe-Datensätze. Beachten Sie, dass ein Zeilenumbruch zählt als ein byte. Dieser Befehl zeigt die letzten 93 bytes in der Datei:

tail-c 93 list-2.txt

Sie können kombinieren der -c (bytes) mit der option + (Anzahl von der Anfang der Datei) – Modifizierer, und geben Sie einen offset in Byte, gerechnet vom Anfang der Datei:

tail-c +351053 list-e.txt

Rohrleitungen In Schwanz

Früher, werden wir geleitet, die Ausgabe von tail in weniger . Wir können auch über die Pipeline die Ausgabe anderer Befehle in den Schwanz.

Identifizieren Sie die fünf Dateien oder Ordner mit dem ältesten änderungsdatum, verwenden Sie die-t (Sortierung nach änderungszeit) option mit ls , und leiten Sie die Ausgabe in den Schwanz.

ls -tl | tail -5

Der head-Befehl listet Textzeilen vom Anfang der Datei. Kombinieren wir dies mit Schwanz extrahieren Sie einen Teil der Datei. Hier sind wir mit dem head-Befehl, um zu extrahieren die ersten 200 Zeilen aus einer Datei. Diese wird geleitet in den Schwanz, was ist das extrahieren der letzten zehn Linien. Dies gibt uns die Linien 191 bis zur Zeile 200. Das heißt, die letzten zehn Zeilen der ersten 200 Zeilen:

head-n 200 list-1.txt | tail -10

Dieser Befehl listet die fünf am Speicher-hungrige Prozesse.

ps aux | sort-nk +4 | tail -5

Lassen Sie uns brechen, dass nach unten.

Das ps-Kommando zeigt Informationen über laufende Prozesse. Die verwendeten Optionen sind:

  • eine: Liste aller Prozesse, die nicht nur für den aktuellen Benutzer.
  • u: Anzeige des Benutzer-orientierte Ausgabe.
  • x: Liste alle Prozesse, auch jene, die nicht laufen in eine TTY-Schnittstelle.

Der sort-Befehl sortiert die Ausgabe von ps . Die Optionen, die wir verwenden mit Art sind:

  • n: numerisch Sortieren.
  • k +4: Sortieren Sie nach der vierten Spalte.

Der Schwanz -5 Befehl zeigt die letzten fünf Prozesse aus der sortierten Ausgabe. Dies sind die fünf wichtigsten Speicher-hungrige Prozesse.

Mit Schwanz-Track-Dateien in Echtzeit

Tracking-neue text-Einträge der Ankunft in einer Datei—in der Regel eine log-Datei—leicht mit der Rute. Übergeben Sie den Dateinamen auf der Kommandozeile aus und verwenden Sie die -f (follow) option.

tail-f geek-1.melden

Wie jedes neue log Eintrag in die log-Datei, Schwanz aktualisiert seine Anzeige in das terminal-Fenster.

Verfeinern Sie die Ausgabe enthält nur die Zeilen, die von besonderer Bedeutung oder Interesse. Hier sind wir mit grep nur die Zeilen, die das Wort “Durchschnitt”:

tail-f geek-1.log | grep Durchschnittliche

Um den Veränderungen zu Folgen, um zwei oder mehr Dateien, übergeben Sie den Dateinamen auf der Kommandozeile:

tail-f -n 5 geek-1.log-geek-2.melden

Jeder Eintrag ist markiert mit einem kopfball, der zeigt, in welcher Datei der text stammt.

Die Anzeige wird aktualisiert, jedes mal, wenn ein neuer Eintrag kommt in ein gefolgt-Datei. Zu geben Sie den update-Zeitraum, die-s (sleep period) option. Dies teilt Schwanz warten eine Anzahl von Sekunden, fünf in diesem Beispiel, zwischen-Datei überprüft.

tail-f -s 5 geek-1.melden

Zugegeben, man kann nicht sagen, durch den Blick auf einen screenshot, aber die updates an der Datei passiert einmal alle zwei Sekunden. Die neuen Einträge in der Datei angezeigt werden, in das terminal-Fenster einmal alle fünf Sekunden.

Wenn Sie nach der text-Ergänzungen in mehr als einer Datei, können Sie unterdrücken die Header, die angeben, die log-Datei der text stammt. Verwenden Sie die -q (quiet) Möglichkeit, dies zu tun:

tail-f -f-geek-1.log-geek-2.melden

Die Ausgabe der Dateien angezeigt, die in eine nahtlose Mischung von text. Es gibt keine Anzeige, die log-Datei jeder Eintrag kam.

Schwanz Noch Wert

Obwohl der Zugriff auf die system-log-Dateien wird nun durch die journalctl, die Rute hat noch viel zu bieten. Dies ist besonders wahr, wenn es ist verwendet in Verbindung mit anderen Befehlen, die durch Rohrleitungen in die oder aus der Rute.

systemd haben könnte, änderte sich die Landschaft, aber es gibt immer noch ein Ort für traditionelle Versorger, die sich konform zur Unix-Philosophie, eine Sache zu tun und tun es auch.

LESEN SIE WEITER

  • › Wi-Fi 6 Ist Hier: Sollten Sie ein Upgrade auf Wi-Fi 6 im Jahr 2020?
  • › So richten Sie einen Mac für Ihre Kinder
  • › Brauchen Sie Anti-Ransomware-Software für Ihren PC?
  • › Wie Streamen die 62nd Annual Grammy Awards ohne Kabel
  • “Was Bedeutet “GLHF” Bedeuten, und Wie Verwenden Sie Es?