Jak zobrazit konec souboru v systému Linux pomocí příkazu „Tail“

V systému Linux existují dva velmi užitečné příkazy, které vám umožňují zobrazit část souboru. První se nazývá head a ve výchozím nastavení zobrazuje prvních 10 řádků v souboru. Druhým je příkaz ocasu, který ve výchozím nastavení umožňuje zobrazit posledních 10 řádků v souboru.

Proč byste chtěli použít některý z těchto příkazů? Proč nejen použít příkaz cat k zobrazení celého souboru nebo použít editor, jako je nano?

Představte si, že soubor, který čtete, má 300,000 XNUMX řádků. Představte si také, že soubor zabírá hodně místa na disku.

Běžné použití příkazu head je zajistit, aby soubor, který chcete zobrazit, byl skutečně správný. Obvykle zjistíte, zda se díváte na správný soubor, a to pouze podle prvních několika řádků. Poté se můžete rozhodnout použít k úpravě souboru editor, například nano.

Příkaz ocas je užitečný pro prohlížení posledních několika řádků souborů a je velmi dobrý, pokud chcete vidět, co se děje v souboru protokolu ve složce / var / log.


Příklad Použití

Příkaz ocas ve výchozím nastavení zobrazuje posledních 10 řádků souboru.

Syntaxe příkazu tail je následující:

ocas

Chcete-li například zobrazit spouštěcí protokol systému, můžete použít následující příkaz:

sudo ocas

Výstup by byl něco takového:

Jak určit počet řádků, které se mají zobrazit

Pomocí následujícího příkazu zadejte počet řádků, které chcete zobrazit:

sudo tail -n20

Výše uvedený příklad by zobrazoval posledních 20 řádků souboru.

Případně můžete použít -n přepněte a určete také počáteční bod v souboru. Možná víte, že prvních 30 řádků v souboru jsou komentáře a chcete pouze zobrazit data v souboru. V takovém případě byste použili následující příkaz:

sudo tail -n + 20

Příkaz ocas je často používán společně s vice příkaz, abyste mohli soubor číst po stránkách.

Například:

sudo tail -n + 20 <fi

Výše uvedený příkaz odešle posledních 20 řádků z názvu souboru a převede jej jako vstup do příkazu more.

Příkaz ocas můžete také použít k zobrazení určitého počtu bajtů místo řádků:

sudo tail -c20

Stejným přepínačem můžete začít zobrazovat od určitého čísla bajtu následujícím způsobem:

sudo tail -c + 20


Jak sledovat soubor protokolu

Všimnete si, že do většiny příkazů jsme zahrnovali sudo. Toto zahrnutí je nutné pouze tam, kde nemáte oprávnění jako běžný uživatel k prohlížení souboru a potřebujete zvýšená oprávnění.

Mnoho skriptů a programů se nezobrazí na obrazovce, ale připojí se k souboru protokolu, když jsou spuštěny. Pomocí následujícího příkazu ocasu zkontrolujte, jak se protokol mění každých tolik sekund:

sudo tail -F -s20

Můžete také použít ocas k pokračování v monitorování protokolu, dokud proces nezemře následovně:

sudo tail -F --pid = 1234

Chcete-li zjistit ID procesu, můžete použít následující příkaz:

ps -ef | grep & l

Představte si například, že upravujete soubor pomocí nano. ID procesu pro nano najdete pomocí následujícího příkazu:

p

Výstup z příkazu vám poskytne ID procesu. Představte si, že ID procesu je 1234. Nyní můžete spustit ocas proti souboru upravovanému pomocí nano pomocí následujícího příkazu:

sudo tail -F --pid = 1234

Pokaždé, když je soubor uložen v rámci nano, příkaz ocasu vyzvedne nové řádky dole. Příkaz se zastaví, pouze když je nano editor zavřený.


Jak opakovat příkaz ocasu

Pokud se vám při pokusu o spuštění příkazu tail zobrazí chyba, protože je z nějakého důvodu nepřístupná, můžete použít opakování parametr, aby se pokus opakoval, dokud nebude soubor k dispozici.

sudo tail --retry -F

Toto opravdu funguje pouze ve spojení s -F přepněte, protože musíte sledovat soubor, chcete-li to zkusit znovu.

Shrnutí

Chcete-li zjistit více informací o příkazu tail, můžete použít následující příkaz: