O příkazu tail
Každý ví o příkazu cat alternativě k příkazu tail , který se používá k zobrazení obsahu souborů. Ale v některých případech se nemusíte dívat na celý soubor, někdy se stačí podívat pouze na konec souboru. Například, když chcete vidět obsah souboru protokolu, nepotřebujete to, čím začíná, budete mít dostatek nejnovějších chybových zpráv.
K tomu můžete použít příkaz tail, který umožňuje výstup zadaného počtu řádků od konce souboru a také online zobrazení nových řádků. Tento článek se podívá na příkaz tail Linux.
Syntaxe chvostu
Než se podíváme na příklady tail linuxu, podívejme se na jeho syntaxi a možnosti. A syntaxe je velmi jednoduchá:
# Usage
tail [ OPTION ] ... [ FILE ] ....
Code language: CSS (css)
Ve výchozím nastavení nástroj zobrazuje posledních deset řádků souboru, ale jeho chování lze nakonfigurovat pomocí možností:
# Options
-c - output the specified number of bytes from the end of the file;
-f - update information as new lines appear in the file;
-n - print the specified number of lines from the end of the file;
--pid - used with the -f option, allows you to terminate the utility when the specified process is completed;
-q - do not display file names;
--retry - try again to open a file if it is not available;
-v - display detailed information about the file;
Code language: PHP (php)
Ve výchozím nastavení nástroj nesleduje změny názvu, ale můžete určit, že chcete soubor sledovat pomocí popisovače, pro více podrobností v příkladech.
Jak používat příkaz tail
Nyní, když znáte základní možnosti, pojďme se podívat, jak s nástrojem pracovat. Nejjednodušší příklad – dedukujeme posledních deset řádků souboru:
tail /var/log/syslog
Code language: JavaScript (javascript)
Pokud nepotřebujete 10 řádků a potřebujete mnohem více, můžete tento parametr zvýšit volbou -n:
tail -n 10 /var/log/syslog
Code language: JavaScript (javascript)
Pokud chcete sledovat vzhled nových řádků v souboru, přidejte volbu -f:
tail -f /var/log/syslog
Code language: JavaScript (javascript)
Můžete otevřít několik souborů najednou, stačí je uvést v parametrech:
tail /var/log/syslog /var/log/Xorg.0.log
Code language: JavaScript (javascript)
Pro nastavení obnovovací frekvence souboru můžete použít volbu -s. Ve výchozím nastavení se data aktualizují jednou za sekundu, ale můžete nakonfigurovat například aktualizaci po pěti sekundách:
tail -f -s 5 /var/log/syslog
Code language: JavaScript (javascript)
Pokud otevřete více souborů, název souboru se zobrazí před částí kódu. Pokud chcete toto záhlaví odstranit, přidejte volbu -q:
tail -q var/log/syslog /var/log/Xorg.0.log
Code language: JavaScript (javascript)
Pokud vás nezajímá počet řádků, ale počet bajtů, můžete je určit pomocí volby -c:
tail -c 500 /var/log/syslog
Code language: JavaScript (javascript)
Pro usnadnění nemůžete vybrat všechny řádky, ale filtrovat ty, které vás zajímají:
tail -f /var/log/syslog | grep err
Code language: JavaScript (javascript)
To je užitečné zejména při analýze protokolů webového serveru nebo při hledání chyb v reálném čase. Pokud se soubor neotevře, můžete to zkusit znovu pomocí možnosti opakovat:
tail -f --retry /var/log/syslog | grep err
Code language: JavaScript (javascript)
Jak jsem řekl na začátku článku, ve výchozím nastavení volba -f nebo -follow sleduje soubor podle jeho názvu, ale můžete povolit režim sledování podle deskriptoru souboru, pak i když se název změní, získáte všechny informace:
tail --follow=descriptor /var/log/syslog | grep err
Code language: JavaScript (javascript)
Závěr
Příkaz tail Linux byl popsán v tomto článku. S jeho pomocí je velmi pohodlné analyzovat protokoly různých služeb a také v nich hledat chyby. Doufám, že vám tyto informace byly užitečné.