Grep je základní příkaz systému Linux a Unix. Slouží k vyhledávání textu a řetězců v daném souboru. Jinými slovy, příkaz grep prohledává daný soubor a hledá řádky obsahující shodu se zadanými řetězci nebo slovy. Je to jeden z nejužitečnějších příkazů v systému Linux a systémech podobných Unixu pro vývojáře a správce systému.
Podívejme se, jak grep používat v systému Linux nebo Unixu podobném systému. Podobně jako fing a zgrep který umí prohledat i komprimované soubory. K čemu je to dobré? vyhledávání IP adresy v logu? K analýze chování firewallu. Nebo k anylýze automatických filtrů či pravidel (postfix, fail2ban)..
Obsah
Vyhledávač logů
Rekurzivní vyhledávání souboru s obsahem IP adresy 1.1.1.1
grep -rl 1.1.1.1 /var/log/něčeho/*
Rekurzivní vyhledávání souboru s obsahem IP adresy 1.1.1.1 + vypsáním řádku který obsahuje hledaný výraz
grep -r 1.1.1.1 /var/log/něčeho/
Hledání IP adresy 1.1.1.1 v apache http .gz komprimovaném, to jest starším logu
find /var/log/apache2/* -name \*.gz -print0 | xargs -0 zgrep "1.1.1.1"
Hledání v apache http .gz komprimovaném logu; multiserver ispconfig
find /var/log/ispconfig/httpd/* -name \*.gz -print0 | xargs -0 zgrep "1.1.1.1"
Hledání v nginx http .gz komprimovaném logu
find /var/log/nginx/* -name \*.gz -print0 | xargs -0 zgrep "1.1.1.1"
Hledání IP adresy 1.1.1.1 ve všech (postfix, dovecot, mysql, fail2ban..) .gz komprimovaných linux lozích
find /var/log/* -name \*.gz -print0 | xargs -0 zgrep "1.1.1.1"
history + grep
Vyhledání dříve použitého příkazu obsahujíci výraz find v bash_history
history | grep find
Vyhledání dříve použitého komplikovanějšího řetězce v bash_history
history | grep 'find \/var\/log\/ispconfig\/httpd\/\*\/ \-name \*\.gz \-print0 \| xargs \-0 zgrep \"1.1.1.1\"'
Užitečné
Text Rychlá statistika IP adres z logu
Domovská stránla linux.com