Cum să Utilizați coada de Comandă în Linux

  • Dave McKay

    @TheGurkha

  • 28 ianuarie 2020, 8:00 EDT
Fatmawati Achmad Zaenuri/

Linux tail comandă afișează date la sfârșitul unui fișier. Se poate afișa chiar și actualizări care sunt adăugate la un fișier în timp real. Vă arătăm cum să o utilizați.

A ucis systemd coada?

comandatail vă arată date de la sfârșitul unui fișier., De obicei, date noi sunt adăugate la sfârșitul unui fișier, astfel încât comanda tail este o modalitate rapidă și ușoară de a vedea cele mai recente Adăugări la un fișier. De asemenea, poate monitoriza un fișier și afișa fiecare nouă intrare de text în acel fișier pe măsură ce apar. Acest lucru face un instrument excelent pentru a monitoriza fișierele jurnal.multe distribuții Linux moderne au adoptat systemd system and service manager. Acesta este primul proces executat, are ID-ul procesului 1 și este părintele tuturor celorlalte procese. Acest rol folosit pentru a fi manipulate de mai vechi init sistem.,odată cu această modificare a venit un nou format pentru fișierele jurnal de sistem. Nu mai sunt create în text simplu, sub systemd acestea sunt înregistrate într-un format binar. Pentru a citi aceste fișiere jurnal, trebuie să utilizați utilitarul journactl. Comanda tail funcționează cu formate de text simplu. Nu citește fișiere binare. Deci, aceasta înseamnă că comanda tail este o soluție în căutarea unei probleme? Mai are ceva de oferit?,

există mai mult la tail comanda decât arată actualizări în timp real. Și pentru care contează, există încă o mulțime de fișiere jurnal care nu sunt generate de sistem și sunt încă create ca fișiere text simplu. De exemplu, fișierele jurnal generate de aplicații nu și-au schimbat formatul.

folosind tail

trece numele unui fișier la tail și vă va arăta ultimele zece linii din acel fișier. Fișierele exemplu pe care le folosim conțin liste de cuvinte sortate., Fiecare linie este numerotată, deci ar trebui să fie ușor să urmați exemplele și să vedeți ce efect au diferitele opțiuni.

tail word-list.txt

Pentru a vedea un număr diferit de linii, folosiți -n (numărul de linii) opțiune:

tail -n 15 word-list.txt
Publicitate

de Fapt, poți renunța la „n”, și de a folosi doar o cratimă „-” și numărul. Asigurați-vă că nu există spații între ele. Tehnic, aceasta este o formă de comandă învechită, dar este încă în pagina man și încă funcționează.,

tail -12 word-list.txt

tail Cu mai Multe Fișiere

poți avea tail lucra cu mai multe fișiere simultan. Doar treceți numele fișierelor pe linia de comandă:

tail -n 4 list-1.txt list-2.txt list-3.txt

un antet mic este afișat pentru fiecare fișier, astfel încât să știți din ce fișier aparțin liniile.

Afișarea Liniilor de la începutul unui Fișier

+ (se pun de la început) modificator face tail afișare linii de la începutul unui fișier, începând de la un anumit număr de linie., Dacă fișierul dvs. este foarte lung și alegeți o linie aproape de începutul fișierului, veți primi o mulțime de ieșiri trimise la fereastra terminalului. Dacă este cazul, are sens să conducta de ieșire de la tailîn less.

tail +440 list-1.txt
publicitate

Puteți pagina prin text într-un mod controlat.,

Pentru că acolo se întâmplă să fie 20,445 linii din acest fișier, această comandă este echivalentă cu utilizarea „-6” opțiune:

tail +20440 list-1.txt

Utilizarea Bytes Cu coada

Vă pot spune tail pentru a utiliza compensează în octeți în loc de linii cu ajutorul -c (bytes) opțiune. Acest lucru ar putea fi util dacă aveți un fișier de text care a fost formatat în înregistrări de dimensiuni obișnuite. Rețineți că un caracter newline contează ca un octet., Această comandă va afișa ultima 93 octeți din fișier:

tail -c 93 list-2.txt

puteți combina -c (bytes) opțiunea cu + (numeri de la începutul fișierului) modificator, și specificați un decalaj în octeți numărate de la începutul fișierului:

tail -c +351053 list-e.txt

Conducte În coada

mai Devreme, noi conducte de ieșire din tail în less . Putem, de asemenea, conducta de ieșire din alte comenzi în tail.,

Publicitate

Pentru a identifica cele cinci fișiere sau foldere cu cele mai vechi ori modificare, utilizare -t (un fel de modificare dată) opțiune cu ls , și conducta de ieșire într-un tail.

ls -tl | tail -5

head comanda liste de linii de text de la începutul unui fișier. Putem combina acest lucru cu tail pentru a extrage o secțiune a fișierului. Aici, folosim comanda head pentru a extrage primele 200 de linii dintr-un fișier., Acesta este introdus în tail, care extrage ultimele zece linii. Acest lucru ne dă liniile 191 până la linia 200. Adică ultimele zece linii ale primelor 200 de linii:

head -n 200 list-1.txt | tail -10

această comandă listează cele cinci procese cele mai înfometate de memorie.

ps aux | sort -nk +4 | tail -5

să spargem asta.

comanda ps afișează informații despre procesele care rulează. Opțiunile utilizate sunt:

  • a: listați toate procesele, nu doar pentru utilizatorul curent.
  • u: afișează o ieșire orientată spre utilizator.,
  • x: listați toate procesele, inclusiv cele care nu rulează în interiorul unui TTY.
Publicitate

sort comanda felul de ieșire din ps . Opțiunile pe care le folosim cu sort sunt:

  • n: Sortare numerică.
  • k + 4: sortare pe coloana a patra.

comanda tail -5 Afișează ultimele cinci procese din ieșirea sortată. Acestea sunt cele cinci procese cele mai înfometate de memorie.,

tail pentru a Urmări Fișierele în Timp Real

de Urmărire noi intrări de text care sosesc într-un fișier—de obicei, un fișier jurnal—este ușor cu tail. Treceți numele fișierului pe linia de comandă și utilizați opțiunea -f (follow).

tail -f geek-1.log

deoarece fiecare intrare jurnal nou este adăugat la fișierul jurnal, coada actualizează afișarea în fereastra terminal.puteți rafina ieșirea pentru a include numai linii de relevanță sau interes special., Aici, suntem folosind grep pentru a afișa numai liniile care includ cuvântul „medie”:

tail -f geek-1.log | grep average

Pentru a urmări modificările la două sau mai multe fișiere, trece de nume de fișiere din linia de comandă:

tail -f -n 5 geek-1.log geek-2.log

Fiecare intrare este etichetat cu un antet care indică fișier text venit de la.

afișajul este actualizat de fiecare dată când o nouă intrare ajunge într-un fișier urmat. Pentru a specifica perioada de actualizare, utilizați opțiunea -s (sleep period)., Acest lucru spune tail să aștepte un număr de secunde, cinci în acest exemplu, între verificările fișierelor.

tail -f -s 5 geek-1.log
publicitate

desigur, nu vă puteți da seama uitându-vă la o captură de ecran, dar actualizările fișierului se întâmplă o dată la două secunde. Noile intrări de fișiere sunt afișate în fereastra terminalului o dată la cinci secunde.

când urmați adăugările de text la mai multe fișiere, puteți suprima anteturile care indică fișierul jurnal din care provine textul., Utilizați -q (liniștit) opțiunea de a face acest lucru:

tail -f -q geek-1.log geek-2.log

ieșire de fișiere este afișat într-un amestec fără sudură de text. Nu există nicio indicație din care fișier jurnal a venit fiecare intrare.

coada Are Încă Valoare

Deși accesul la sistemul de fișiere jurnal este acum prevăzută de journalctl, tail are încă multe de oferit. Acest lucru este valabil mai ales atunci când este utilizat împreună cu alte comenzi, prin conducte în sau din tail.,

Publicitate

systemd s-au mai schimbat peisajul, dar există încă un loc pentru tradiționale de utilități, care sunt conforme cu filosofia Unix de a face un lucru și o face bine.Dave McKay Dave McKay a folosit pentru prima dată calculatoarele când banda de hârtie perforată era în vogă și de atunci programează. După peste 30 de ani în industria IT, acum este jurnalist tehnologic cu normă întreagă., În timpul carierei sale, a lucrat ca programator independent, manager al unei echipe internaționale de dezvoltare de software, manager de proiect pentru servicii IT și, cel mai recent, ca responsabil cu protecția datelor. Dave este un evanghelist Linux și avocat open source.Citeste tot Bio ”

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *