Příkaz tail zobrazí poslední část (10 řádků ve výchozím nastavení) jednoho nebo více souborů nebo dat z potrubí. Lze jej také použít ke sledování změn souborů v reálném čase.
Jedním z nejběžnějších použití příkazu tail je sledování a analýza protokolů a dalších souborů, které se v průběhu času mění, obvykle v kombinaci s dalšími nástroji, jako je grep.
V tomto tutoriálu vám ukážeme, jak používat linuxový příkaz tail, na praktických příkladech a podrobných vysvětleních nejběžnějších možností ocasu.
Syntaxe příkazu Tail #
Než se pustíme do používání příkazu tail, začněme zopakováním základní syntaxe.
Výrazy příkazu tail mají následující podobu:
tail [OPTION]... [FILE]...
OPTION
- možnosti ocasu. Nejběžnější možnosti projdeme v dalších částech.FILE
- Nula nebo více jmen vstupních souborů. Pokud není zadán žádný SOUBOR nebo když je SOUBOR-
, tail přečte standardní vstup.
Jak používat příkaz Tail #
Ve své nejjednodušší podobě, pokud je použit bez jakékoli možnosti, příkaz tail zobrazí posledních 10 řádků.
tail filename.txt
Jak zobrazit konkrétní počet řádků #
Použijte -n
(--lines
) možnost určit počet řádků, které se mají zobrazit:
tail -n <NUMBER> filename.txt
Můžete také vynechat písmeno n
a použijte pouze spojovník (-
) a číslo (bez mezery mezi nimi).
Zobrazení posledních 50 řádků souboru s názvem filename.txt
byste použili:
tail -n 50 filename.txt
Následující příklad zobrazí stejný výsledek jako výše uvedené příkazy:
tail -50 filename.txt
Jak zobrazit konkrétní počet bajtů #
Chcete-li zobrazit konkrétní počet bajtů, použijte -c
(--bytes
).
tail -c <NUMBER> filename.txt
Chcete-li například zobrazit posledních 500 bajtů dat ze souboru s názvem filename.txt
byste použili:
tail -c 500 filename.txt
Můžete také použít násobící příponu za číslem k určení počtu bajtů, které se mají zobrazit. b
vynásobí ho 512, kB
vynásobí ho 1000, K
vynásobí ho 1024, MB
vynásobí ho 1000000, M
vynásobí ho 1048576 a tak dále.
Následující příkaz zobrazí poslední dva kilobajty (2048) souboru filename.txt
:
tail -c 2k filename.txt
Jak sledovat změny v souboru #
Chcete-li v souboru sledovat změny, použijte -f
(--follow
) možnost:
tail -f filename.txt
Tato možnost je užitečná zejména pro monitorování souborů protokolu. Chcete-li například zobrazit posledních 10 řádků souboru /var/log/nginx/error.log
a sledujte, zda soubor neobsahuje aktualizace, které byste použili:
tail -f /var/log/nginx/error.log
Chcete-li přerušit příkaz tail při sledování souboru, stiskněte Ctrl+C
.
Chcete-li pokračovat ve sledování souboru, když je znovu vytvořen, použijte -F
možnost.
tail -F filename.txt
Tato možnost je užitečná v situacích, kdy příkaz tail sleduje soubor protokolu, který se otáčí. Při použití s -F
Příkaz tail znovu otevře soubor, jakmile bude znovu dostupný.
Jak zobrazit více souborů #
Pokud je jako vstup pro příkaz tail poskytnuto více souborů, zobrazí se posledních deset řádků z každého souboru.
tail filename1.txt filename2.txt
Můžete použít stejné možnosti jako při zobrazení jednoho souboru.
Tento příklad ukazuje posledních 20 řádků souborů filename1.txt
a filename2.txt
:
tail -n 20 filename1.txt filename2.txt
Jak používat Tail s dalšími příkazy #
Příkaz tail lze použít v kombinaci s jinými příkazy přesměrováním standardního výstupu z/do jiných nástrojů pomocí potrubí.
Například pro sledování souboru protokolu přístupu Apache a zobrazení pouze těch řádků, které obsahují IP adresu 192.168.42.12
byste použili:
tail -f /var/log/apache2/access.log | grep 192.168.42.12
Následující ps
příkaz zobrazí deset nejčastěji běžících procesů seřazených podle využití procesoru:
ps aux | sort -nk +3 | tail -5
Závěr č.
Nyní byste měli dobře rozumět tomu, jak používat příkaz Linux tail. Je to doplněk k příkazu head, který vytiskne první řádky souboru do terminálu.