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

10 großartige Beispiele für das Anzeigen riesiger Protokolldateien in Unix

Das Anzeigen riesiger Protokolldateien zur Fehlerbehebung ist eine alltägliche Routineaufgabe für Systemadministratoren und Programmierer.

Lassen Sie uns in diesem Artikel anhand von 10 großartigen Beispielen überprüfen, wie Sie riesige Protokolldateien effektiv anzeigen und bearbeiten können.

Beispiel 1:Zeigen Sie bestimmte Zeilen (basierend auf der Zeilennummer) einer Datei mit dem Befehl sed an

Nur die spezifischen Zeilen anzeigen, die durch Zeilennummern erwähnt werden.

Syntax: $ sed -n -e Xp -e Yp FILENAME
  • sed :sed-Befehl, der standardmäßig alle Zeilen druckt.
  • -n :Unterdrückt die Ausgabe.
  • -e CMD :Auszuführender Befehl
  • Xp:Zeilennummer X drucken
  • Yp:Zeilennummer Y drucken
  • FILENAME :Name der zu verarbeitenden Datei.

Das unten erwähnte Beispiel gibt die Zeilen 120, 145, 1050 aus dem Syslog aus.

$ sed -n -e 120p -e 145p -e 1050p /var/log/syslog

Im folgenden Beispiel können Sie den Inhalt von var/log/cron von Zeilennummer 101 bis 110 anzeigen.

  • M – Startzeilennummer
  • N – Endzeilennummer
Syntax: sed -n M,Np FILENAME

$ sed -n 101,110p /var/log/cron

Beispiel 2:Zeige die ersten N Zeilen einer Datei mit dem Head-Befehl

Dieses Beispiel zeigt nur die ersten 15 Zeilen der Datei /var/log/maillog an. Ändern Sie 15 in 10, um die ersten 10 Zeilen einer Protokolldatei anzuzeigen.

Syntax: head -n N FILENAME

$ head -n 15 /var/log/maillog

Beispiel 3:Ignoriere die letzten N Zeilen einer Datei mit dem Head-Befehl

Dieses Beispiel zeigt, wie die letzten N Zeilen ignoriert werden und nur die verbleibenden Zeilen vom Anfang der Datei angezeigt werden.

Das folgende Beispiel zeigt alle Zeilen von /var/log/secure mit Ausnahme der letzten 250 Zeilen.

Syntax: head -n -N FILENAME

$ head -n -250 /var/log/secure

Beispiel 4:Zeigt die letzten N Zeilen der Datei mit dem Befehl tail an

Dieses Beispiel zeigt nur die letzten 50 Zeilen der Datei /var/log/messages an. Ändern Sie 50 in 100, um die letzten 100 Zeilen der Protokolldatei anzuzeigen.

Syntax: tail -n N FILENAME

$ tail -n 50 /var/log/messages

Beispiel 5:Ignoriere die ersten N-1 Zeilen der Datei mit dem tail-Befehl

Dieses Beispiel zeigt, wie die ersten N-1 Zeilen ignoriert und nur die restlichen Zeilen angezeigt werden.

Das folgende Beispiel ignoriert die ersten vier Zeilen der /etc/xinetd.conf, die nur die Kommentare enthält.

Syntax: tail -n +N FILENAME

$ tail -n +5 /etc/xinetd.conf
defaults
{
        instances               = 60
        log_type                = SYSLOG authpriv
        log_on_success          = HOST PID
        log_on_failure          = HOST
        cps                     = 25 30
}
includedir /etc/xinetd.d

Beispiel 6:Sehen Sie sich die wachsende Protokolldatei in Echtzeit mit dem tail-Befehl an

Dies ist wahrscheinlich einer der am häufigsten verwendeten Befehle von Systemadministratoren. Um eine wachsende Protokolldatei anzuzeigen und nur die neueren Inhalte zu sehen, verwenden Sie tail -f wie unten gezeigt.

Das folgende Beispiel zeigt den Inhalt des Befehls /var/log/syslog in Echtzeit.

Syntax: tail -f FILENAME

$ tail -f /var/log/syslog

Beispiel 7:Zeigen Sie bestimmte Zeilen (basierend auf der Zeilennummer) einer Datei mit dem Head-and-Tail-Befehl an

Das folgende Beispiel zeigt die Zeilennummern 101 – 110 der Datei /var/log/anaconda.log

  • M – Startzeilennummer
  • N – Endzeilennummer
Syntax: cat file | tail -n +N | head -n (M-N+1)

$ cat /var/log/anaconda.log | tail -n +101 | head -n 10
  • cat :gibt die gesamte Datei auf die Standardausgabe aus.
  • tail -n +101 :ignoriert Zeilen bis zur angegebenen Zeilennummer und beginnt dann mit dem Drucken von Zeilen nach der angegebenen Nummer.
  • head -n 10 :gibt die ersten 10 Zeilen aus, also 101 bis 110 und ignoriert die restlichen Zeilen.

Beispiel 8:Zeilen anzeigen, die einem Muster entsprechen, und wenige Zeilen nach der Übereinstimmung.

Das folgende Beispiel zeigt die Zeile, die mit „Initializing CPU“ übereinstimmt, aus /var/log/dmesg und 5 Zeilen unmittelbar nach dieser Übereinstimmung.

# grep "Initializing CPU#1" /var/log/dmesg
Initializing CPU#1
[Note: The above shows only the line matching the pattern]

# grep -A 5 "Initializing CPU#1" dmesg
Initializing CPU#1
Calibrating delay using timer specific routine.. 3989.96 BogoMIPS (lpj=1994982)
CPU: After generic identify, caps: bfebfbff 20100000 00000000 00000000
CPU: After vendor identify, caps:  bfebfbff 20100000 00000000 00000000
monitor/mwait feature present.
CPU: L1 I cache: 32K, L1 D cache: 32K
[Note: The above shows the line and 5 lines after the pattern matching]

Siehe unseren früheren Artikel Grep im Griff! – 15 praktische Beispiele für Grep-Befehle, die erklären, wie man den Befehl grep verwendet.

Wie in unserem vorherigen grep-Befehlsartikel erklärt, sind die folgenden Operationen möglich.

  • Anzeigen bestimmter Zeilen, die durch Muster identifiziert werden, was die Standardfunktion von grep ist.
  • Nur übereinstimmende Zeichen anzeigen.
  • Anzeigen von N Zeilen nach der Übereinstimmung mit der Option -A.
  • Anzeigen von N Zeilen vor dem Match mit Option -B.
  • Anzeigen von N Zeilen um die Übereinstimmung herum mit der Option -C.

Beispiel 9:Anzeigen bestimmter Bytes aus einer Datei.

Das folgende Beispiel erläutert, wie entweder die obersten 40 oder die letzten 30 Bytes einer Datei angezeigt werden.

Zeige die ersten 40 Bytes von Syslog an.

$ head -c40 /var/log/syslog

Zeige die letzten 30 Bytes aus dem Syslog an.

$ tail -c30 /var/log/syslog

Beispiel 10:Anzeigen komprimierter Protokolldateien

Nach einer bestimmten Zeit werden alle Systemprotokolldateien rotiert und komprimiert. Sie können sie spontan dekomprimieren und die Ausgabe an einen anderen Unix-Befehl weiterleiten, um die Datei wie unten beschrieben anzuzeigen.

Weitere Informationen finden Sie in unserem früheren Artikel The Power of Z Commands – Beispiele für Zcat, Zless, Zgrep, Zdiff

  • Zeigt die ersten N Zeilen einer komprimierten Datei an.
    $ zcat file.gz | head -250
  • Zeigt die letzten N Zeilen einer komprimierten Datei an.
    $ zcat file.gz | tail -250
  • Die letzten N Zeilen einer komprimierten Datei ignorieren.
    $ zcat file.gz | head -n -250
  • Die ersten N Zeilen einer komprimierten Datei ignorieren.
    $ zcat file.gz | tail -n +250
  • Anzeigen der Linien, die dem Muster entsprechen
    $ zcat file.gz | grep -A2 'error'
  • Anzeigen eines bestimmten Zeilenbereichs, der durch die Zeilennummer identifiziert wird.
    $ zcat file.gz | sed -n -e 45p -e 52p

Wenn Sie zurückkehren müssen, markieren Sie diese Seite unter del.icio.us als praktische Referenz.


Linux
  1. UNIX ar-Beispiele:Erstellen, Anzeigen, Extrahieren und Ändern von C-Archivdateien (*.a)

  2. 10 Nützliche Sar (Sysstat)-Beispiele für die UNIX/Linux-Leistungsüberwachung

  3. Wie kopiert man Dateien unter Linux und Unix? 10 cp Befehlsbeispiele

  4. 10 Cat-Befehlsbeispiele zum Verwalten von Dateien unter Linux / UNIX

  5. Linux / UNIX :Beispiele für den Find-Befehl zum Suchen von Dateien mit bestimmten Berechtigungen

ls-Befehl unter Linux/UNIX

15 fantastische Beispiele zur Manipulation von Audiodateien mit Sound eXchange (SoX)

Papa, ich habe es gefunden!, 15 fantastische Beispiele für Linux-Suchbefehle (Teil 2)

Unix-Sed-Tutorial:6 Beispiele für Sed-Verzweigungsoperationen

Unix Sed Tutorial:7 Beispiele für Sed Hold und Pattern Buffer Operationen

UNIX / Linux:7 praktische Beispiele für PS-Befehle zur Prozessüberwachung