Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Hrátky z řádky: pracujeme s logy

Opět se setkáváme u pravidelné pondělní dávky tipů a triků z černé řádky. V dnešním díle se podíváme na čtení log souborů a hledání v nich, představíme si programy wc, sort, du a na závěr se vrátíme k programu screen, v něm si ukážeme, jak jednoduše rozdělit obrazovku na více pracovních částí.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Dlouho jsem nezmínil manuálové stránky. Je to důležitý zdroj informací. Mnou uváděné tipy využívají jeden nebo dva parametry, ale většina zde uváděných programů jich umí mnohem více. Rozhodně doporučuji si manuály někdy prohlédnout. Když zrovna nesedíte u nějakého Linuxu, můžete třeba využít stránky man.root.cz.

Práce s logy

Na čtení logů můžete používat mnoho programů – cat, more, less, tail, head,… O některých jsme už mluvili. Můj oblíbený less má mnoho funkcí, například umí snadno vyhledávat. Prohlížíme si třeba mailový log less /var/log/maillog. Chci v něm vyhledat například svou e-mailovou adresu. Stačí zadat znak /, napsat požadovaný text a zmáčknout enter. Less označí v celém souboru všechny výskyty hledaného textu a přesune nás na první z nich. Klávesou n se můžeme přesouvat na další výskyty, klávesou N pak můžeme na předchozí. Je to stejný systém, jaký má třeba editor vi. Další možností, jak v logu něco vyhledat, je využití utilitky grep, následující příklad nám vypíše všechny řádky obsahující hledaný text:

$ grep -i text /var/log/maillog

Zopakuji, že parametr -i nám zajistí, že u hledaného textu se nerozlišuje velikost znaků. Parametr -n nám na začátek napíše ještě číslo řádku.

Když chceme v logu jen očíslovat řádky, je pro to určen filtr nl. Zkuste si třeba
$ nl /etc/hosts
I nl má užitečné parametry. Můžete si třeba zvolit, zda číslovat i prázdné řádky, jestli mají být čísla doplněna nulami a podobně. Líbit by se vám mohlo třeba i toto:

$ nl /var/log/maillog | less

Když chcete prohledávat třeba log, který už je zaarchivovaný, není nutné jej nejprve rozbalovat a pak číst třeba lessem. K tomu je určený zless. Většinou to není binárka, například ve FreeBSD je řešen jednoduchým skriptem, který spouští klasický less, a díky tomu můžeme i v něm snadno vyhledávat výše popsanou kombinací. Ukázka:
  $ zless /var/log/maillog.0.bzip2

Za další tip musím poděkovat jednomu čtenáři, který utilitku ccze zmínil v diskuzi. Pokud se vám log zdá nepřehledný, existuje několik programů, které vám barevně rozliší text. My si ukážeme utilitku ccze. Nebývá součástí systému, většinou si ji budete muset přiinstalovat. Ale může se hodit, zkuste si třeba:

$ tail -n40 /var/log/maillog | ccze

Když máme log plný něčeho, co nás nezajímá, využijeme opět grep. Příkazem grep -v slovo /var/log/maillog zobrazíme všechny řádky neobsahující hledané slovo. Velkou funkcionalitu získáme spojením dvou grepů:

$ grep -i novak.cz /var/log/maillog | grep -v jarda

Tímto najdeme záznamy obsahující název domény novak.cz, ale vynecháme vše obsahující slovo jarda.

Lehce k programům wc, sort a du

Další program, který si ukážeme, je wc. Slouží nám k počítání všeho možného – znaků, slov, řádků. Pokud nás zajímá počet řádků v souborech, není nic snažšího než:

$ wc -l /etc/*

Tento příkaz nám vypíše názvy souborů v /etc  a u nich počet řádků. Parametrem -m můžeme spočíst znaky, zajímavý je ještě parametr -w, který zajistí počítání slov. Další informace naleznete v man wc.

Další utilitkou je sort. Je to filtr, který nám dle zadaného kritéria setřídí hodnoty. Pokud chcete třeba setřídit řádky souboru podle abecedy, zkuste:

$ sort /etc/rc.conf

Pro nás teď bude důležitý parametr -n díky němuž setřídíme data ne textově, ale numericky. Praktickým příkladem je třeba výpis podadresářů setříděný podle velikosti sestupně. Docílíme toho spojením příkazu du a sortu. Du nám samo o sobě říká údaje v počtu 512 bytových bloků. Ale pro hezčí výpis jde použít i -k  pro kilobajty a -m pro megabajty, já mám rád parametr -h (human readable). Malá ukázka:

root@minastirith pm # du -sk /var/* | sort -rn
41896   /var/db
37524   /var/log
16394   /var/mail
3472    /var/tmp
518     /var/spool
47      /var/named
44      /var/run
22      /var/yp
14      /var/backups
6       /var/cron

Screen – rozdělení obrazovky

O screenu  už se zde mluvilo a odkazoval jsem na náš starší článek, v kterém bylo zmíněna možnost rozdělení obrazovky.

Rozdeleny screen

Rozdělíme si obrazovku na poloviny a v každé si pustíme nějaký monitorovací nástroj – iftop a top. Spustíme si screen, v něm třeba iftop na nějakou síťovou kartu:

$ screen
$ iftop -i fxp0

Zmáčkneme ctrl + a následované velkým písmenem S. Obrazovka se nám rozdělí. Kombinací ctrl + a následované klávesou tab. Tím se přepneme do zatím prázdného okna. Stiskem ctrl + a následovanou klávesou c spustíme nové okno. V něm už jen spustíme příkaz top. Přepínání mezi okny se provádí pomocictrl + a následované tab. Pomocí exit pak jednotlivá okna ukončujeme. Pro podobné rozdělení obrazu se dá použít i utilitka window.

Školení: Hackujeme operační systém Android

 

Školení vám ukáže, jak se dostat k Linuxu (tzv. "rootování"), který se pod hezkou tváří Androida skrývá a jak ho naplno využít. Pomůže vám to při záloze dat, zvětšování prostoru pro aplikace nebo sdílení připojení k internetu a pokud chcete z telefonu dostat opravdové maximum, ukážeme vám, jak v něm vyměnit kompletní systém za lepší.

Podrobnější informace a přihláška

Ohodnoťte jako ve škole:
Průměrná známka 3,12

Přehled názorů

Super.
Robertek 4. 2. 2008 01:27
Nový
├ 
Re: Super.
Petr Krčmář 4. 2. 2008 07:23
Nový
│
└ 
Re: Super.
D.A.Tiger 5. 2. 2008 07:37
Nový
└ 
Re: Super.
Cirri 4. 2. 2008 07:44
Nový
 
└ 
Re: Super.
Cirri 4. 2. 2008 07:46
Nový
 
 
└ 
Re: Super.
Petr Krčmář 4. 2. 2008 08:51
Nový
Par dodatku
anonymní uživatel 4. 2. 2008 08:52
Nový
├ 
Re: Par dodatku
anonymní uživatel 4. 2. 2008 09:13
Nový
├ 
Re: Par dodatku
Petr Macek 4. 2. 2008 09:25
Nový
│
└ 
Re: Par dodatku
anonymní uživatel 4. 2. 2008 09:29
Nový
│
 
└ 
Re: Par dodatku
Petr Macek 4. 2. 2008 09:41
Nový
├ 
Re: Par dodatku
dum8d0g 4. 2. 2008 09:35
Nový
└ 
Re: Par dodatku
prc 5. 2. 2008 04:40
Nový
tragedi
jirib 4. 2. 2008 09:15
Nový
├ 
Re: tragedi
anonymní uživatel 4. 2. 2008 09:30
Nový
├ 
Re: tragedi
Petr Macek 4. 2. 2008 09:37
Nový
│
├ 
Re: tragedi
worwan 4. 2. 2008 10:36
Nový
│
│
├ 
Re: tragedi
cynan 4. 2. 2008 13:26
Nový
│
│
└ 
Re: tragedi
anonymní uživatel 4. 2. 2008 13:47
Nový
│
├ 
Re: tragedi
rak 4. 2. 2008 14:32
Nový
│
└ 
Re: tragedi
Pantera 4. 2. 2008 18:25
Nový
└ 
Re: tragedi
GreatLama 4. 2. 2008 15:15
Nový
díky za screen
theSlayer 4. 2. 2008 10:06
Nový
├ 
Re: díky za screen
Xerces 4. 2. 2008 12:02
Nový
│
├ 
Re: díky za screen
Tom fi 4. 2. 2008 12:12
Nový
│
│
└ 
Re: díky za screen
Xerces 4. 2. 2008 21:25
Nový
│
│
 
└ 
Re: díky za screen
Tom fi 5. 2. 2008 07:02
Nový
│
└ 
Re: díky za screen
Petr Krčmář 4. 2. 2008 13:00
Nový
└ 
Re: díky za screen
Kvakor 4. 2. 2008 12:35
Nový
100.-1000. dil tohoto serialu
worwan 4. 2. 2008 11:19
Nový
v praci
jirib 4. 2. 2008 11:42
Nový
multitail
anonymní uživatel 6. 2. 2008 16:57
Nový
Kde najdu více informací o konzolové utilitě window?
gloslyk 18. 2. 2008 17:02
Nový
└ 
Re: Kde najdu více informací o konzolové utilitě window?
Petr Macek 19. 2. 2008 08:42
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem