Cum să vizualizați sfârșitul unui fișier în Linux cu comanda „Tail”

Există două comenzi foarte utile în Linux care vă permit să vedeți o parte dintr-un fișier. Primul se numește cap și implicit, vă arată primele 10 linii dintr-un fișier. A doua este comanda tail, care implicit vă permite să vizualizați ultimele 10 linii dintr-un fișier.

De ce ați dori să utilizați oricare dintre aceste comenzi? De ce nu folosiți doar comanda cat pentru a vizualiza întregul fișier sau utilizați un editor precum nano?

Imaginați-vă că fișierul pe care îl citiți are 300,000 de rânduri. Imaginați-vă, de asemenea, că fișierul consumă mult spațiu pe disc.

O utilizare obișnuită pentru comanda head este să vă asigurați că fișierul pe care doriți să-l vizualizați este într-adevăr fișierul corect. De obicei, vă puteți da seama dacă vă uitați la fișierul corect doar vizualizând primele câteva rânduri. Puteți alege apoi să utilizați un editor precum nano pentru a edita fișierul.

Comanda tail este utilă pentru vizualizarea ultimelor linii de fișiere și este foarte bună atunci când doriți să vedeți ce se întâmplă într-un fișier jurnal din dosarul / var / log.


Exemplu de utilizare

Comanda coadă implicit afișează ultimele 10 linii ale unui fișier.

Sintaxa pentru comanda tail este următoarea:

coadă

De exemplu, pentru a vizualiza jurnalul de încărcare pentru sistemul dvs., puteți utiliza următoarea comandă:

sudo tail

Rezultatul ar fi ceva de genul acesta:


Cum se specifică numărul de linii de afișat

Specificați numărul de linii pe care doriți să le vedeți folosind următoarea comandă:

sudo tail -n20

Exemplul de mai sus ar arăta ultimele 20 de linii ale fișierului.

Alternativ, puteți utiliza funcția -n comutați pentru a specifica punctul de plecare și în fișier. Poate știți că primele 30 de rânduri dintr-un fișier sunt comentarii și doriți doar să vedeți datele dintr-un fișier. În acest caz, veți utiliza următoarea comandă:

sudo tail -n + 20

Comanda coadă este adesea utilizată alături de mai mult pentru a putea citi fișierul o pagină la un moment dat.

De exemplu:

sudo tail -n + 20

Comanda de mai sus trimite ultimele 20 de linii din numele fișierului și le transmite ca intrare la comanda more.

De asemenea, puteți utiliza comanda tail pentru a afișa un anumit număr de octeți în loc de linii:

sudo tail -c20

Utilizați același comutator pentru a începe să afișați dintr-un anumit număr de octeți, după cum urmează:

sudo tail -c + 20


Cum se monitorizează un fișier jurnal

Veți observa că am inclus sudo în majoritatea comenzilor. Această includere este necesară numai atunci când nu aveți permisiuni ca utilizator normal pentru a vizualiza fișierul și aveți nevoie de permisiuni ridicate.

Multe scripturi și programe nu sunt afișate pe ecran, dar se adaugă la un fișier jurnal în timp ce rulează. Utilizați următoarea comandă coadă pentru a verifica modul în care jurnalul se schimbă la fiecare atât de multe secunde:

sudo tail -F -s20

De asemenea, puteți utiliza codul pentru a continua monitorizarea unui jurnal până când un proces moare după cum urmează:

sudo tail -F --pid = 1234

Pentru a găsi ID-ul procesului pentru un proces, puteți utiliza următoarea comandă:

ps -ef | grep & l

De exemplu, imaginați-vă că editați un fișier folosind nano. Puteți găsi ID-ul procesului pentru nano folosind următoarea comandă:

p

Ieșirea din comandă vă va oferi un ID de proces. Imaginați-vă că ID-ul procesului este 1234. Acum puteți rula coada împotriva fișierului care este editat de nano folosind următoarea comandă:

sudo tail -F --pid = 1234

De fiecare dată când fișierul este salvat în nano, comanda tail va prelua noile linii din partea de jos. Comanda se oprește numai când editorul nano este închis.


Cum să reîncercați comanda coadă

Dacă primiți o eroare în timp ce încercați să executați comanda tail, deoarece aceasta este inaccesibilă din anumite motive, puteți utiliza reîncercați parametru pentru a reîncerca până când fișierul este disponibil.

sudo tail --retry -F

Acest lucru funcționează într-adevăr împreună cu -F , deoarece trebuie să urmăriți fișierul pentru a încerca din nou.

Rezumat

Pentru a afla mai multe informații despre comanda tail, puteți utiliza următoarea comandă: