GNU/Linux >> Znalost Linux >  >> Linux

10 úžasných příkladů pro prohlížení obrovských souborů protokolu v Unixu

Prohlížení velkých souborů protokolu pro odstraňování problémů je pro systémové správce a programátory všední rutinní úkol.

V tomto článku se podíváme na to, jak efektivně prohlížet a manipulovat s velkými soubory protokolu pomocí 10 úžasných příkladů.

Příklad 1:Zobrazení konkrétních řádků (na základě čísla řádku) souboru pomocí příkazu sed

Zobrazit pouze konkrétní řádky uvedené čísly řádků.

Syntax: $ sed -n -e Xp -e Yp FILENAME
  • sed :příkaz sed, který ve výchozím nastavení vytiskne všechny řádky.
  • -n :Potlačí výstup.
  • -e CMD :Příkaz, který se má provést
  • Xp:Vytiskne číslo řádku X
  • Yp:Vytiskne číslo řádku Y
  • FILENAME :název souboru, který má být zpracován.

Níže uvedený příklad vytiskne řádky 120, 145, 1050 ze syslogu.

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

V následujícím příkladu  můžete zobrazit obsah var/log/cron od řádku číslo 101 do 110.

  • M – Číslo startovní řady
  • N – Číslo koncového řádku
Syntax: sed -n M,Np FILENAME

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

Příklad 2:Zobrazení prvních N řádků souboru pomocí příkazu head

Tento příklad zobrazuje pouze prvních 15 řádků souboru /var/log/maillog. Změnou 15 na 10 zobrazíte prvních 10 řádků souboru protokolu.

Syntax: head -n N FILENAME

$ head -n 15 /var/log/maillog

Příklad 3:Ignorování posledních N řádků souboru pomocí příkazu head

Tento příklad ukazuje, jak ignorovat posledních N řádků a zobrazit pouze zbývající řádky z horní části souboru.

Následující příklad zobrazí všechny řádky /var/log/secure kromě posledních 250 řádků.

Syntax: head -n -N FILENAME

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

Příklad 4:Zobrazení posledních N řádků souboru pomocí příkazu tail

Tento příklad zobrazuje pouze posledních 50 řádků souboru /var/log/messages. Změnou 50 na 100 zobrazíte posledních 100 řádků souboru protokolu.

Syntax: tail -n N FILENAME

$ tail -n 50 /var/log/messages

Příklad 5:Ignorování prvních N-1 řádků souboru pomocí příkazu tail

Tento příklad ukazuje, jak ignorovat prvních N-1 řádků a zobrazit pouze zbývající řádky.

Následující příklad ignoruje první čtyři řádky souboru /etc/xinetd.conf, který obsahuje pouze komentáře.

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

Příklad 6:Zobrazení rostoucího souboru protokolu v reálném čase pomocí příkazu tail

Toto je pravděpodobně jeden z nejpoužívanějších příkazů sysadmins. Chcete-li zobrazit rostoucí soubor protokolu a zobrazit pouze novější obsah, použijte tail -f, jak je uvedeno níže.

Následující příklad ukazuje obsah příkazu /var/log/syslog v reálném čase.

Syntax: tail -f FILENAME

$ tail -f /var/log/syslog

Příklad 7:Zobrazení konkrétních řádků (na základě čísla řádku) souboru pomocí příkazu head and tail

Níže uvedený příklad zobrazí čísla řádků 101 – 110 souboru /var/log/anaconda.log

  • M – Číslo startovní řady
  • N – Číslo koncového řádku
Syntax: cat file | tail -n +N | head -n (M-N+1)

$ cat /var/log/anaconda.log | tail -n +101 | head -n 10
  • cat :vytiskne celý soubor do stdout.
  • tail -n +101 :ignoruje řádky do daného čísla řádku a poté začne tisknout řádky za daným číslem.
  • head -n 10 :vytiskne prvních 10 řádků, tj. 101 až 110, a ignoruje zbývající řádky.

Příklad 8:Zobrazte řádky odpovídající vzoru a několik řádků po shodě.

Následující příklad zobrazuje řádek, který odpovídá „Initializing CPU“ z /var/log/dmesg a 5 řádků bezprostředně po této shodě.

# 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]

Podívejte se na náš dřívější článek Get a Grip on the Grep! – 15 praktických příkladů příkazů Grep, které vysvětlují, jak používat příkaz grep.

Jak bylo vysvětleno v našem předchozím článku o příkazu grep, jsou možné následující operace.

  • Zobrazení konkrétních čar identifikovaných podle vzorů, což je výchozí funkce grep.
  • Zobrazení pouze odpovídajících znaků.
  • Zobrazení N řádků po shodě s možností -A.
  • Zobrazení N řádků před zápasem s volbou -B.
  • Zobrazení N řádků kolem shody s volbou -C.

Příklad 9:Zobrazení konkrétních bajtů ze souboru.

Následující příklad vysvětluje, jak zobrazit buď prvních 40 nebo posledních 30 bajtů souboru.

Zobrazit prvních 40 bajtů ze syslogu.

$ head -c40 /var/log/syslog

Zobrazit posledních 30 bajtů ze syslogu.

$ tail -c30 /var/log/syslog

Příklad 10:Zobrazení komprimovaných souborů protokolu

Po určité době se všechny systémové soubory protokolu otočí a zkomprimují. Můžete jej dekomprimovat za běhu a přesouvat výstup do jiného unixového příkazu, abyste si soubor prohlédli, jak je vysvětleno níže.

Podívejte se na náš dřívější článek Síla příkazů Z – příklady Zcat, Zless, Zgrep, Zdiff

  • Zobrazí prvních N řádků komprimovaného souboru.
    $ zcat file.gz | head -250
  • Zobrazí posledních N řádků komprimovaného souboru.
    $ zcat file.gz | tail -250
  • Ignorování posledních N řádků komprimovaného souboru.
    $ zcat file.gz | head -n -250
  • Ignorování prvních N řádků komprimovaného souboru.
    $ zcat file.gz | tail -n +250
  • Zobrazení čar odpovídajících vzoru
    $ zcat file.gz | grep -A2 'error'
  • Zobrazení konkrétního rozsahu linek identifikovaných číslem linky.
    $ zcat file.gz | sed -n -e 45p -e 52p

Pokud se potřebujete vrátit, uložte si tuto stránku do záložek na adrese del.icio.us pro praktickou referenci.


Linux
  1. 10 Užitečné příklady Sar (Sysstat) pro monitorování výkonu UNIX / Linux

  2. Jak kopírovat soubory v Linuxu a Unixu? 10 cp Příklady příkazů

  3. 10 příkladů příkazů Cat pro správu souborů v systému Linux / UNIX

  1. Umístění společných souborů protokolu a konfiguračních souborů pro služby cPanel

  2. Soubory protokolu Linux

  3. Linux / UNIX :Příklady příkazu find k vyhledání souborů se specifickými sadami oprávnění

  1. 20 úžasných příkladů příkazů Nmap v Linuxu

  2. 12 Příklady IP příkazů pro uživatele Linuxu

  3. UNIX a příklady:Jak vytvářet, zobrazovat, extrahovat, upravovat soubory C archivu (*.a)