Si të përdorni komandën e bishtit në Linux


Komanda Linux tail shfaq të dhëna nga fundi i një skedari. Ai madje mund të shfaqë përditësimet që i shtohen një skedari në kohë reale. Ne ju tregojmë se si ta përdorni.

A systemd Kill bisht?

Komanda tail ju tregon të dhëna nga fundi i një skedari. Zakonisht, të dhënat e reja shtohen në fund të një skedari, kështu që komanda tail është një mënyrë e shpejtë dhe e lehtë për të parë shtesat më të fundit në një skedar. Ai gjithashtu mund të monitorojë një skedar dhe të shfaqë çdo hyrje të re teksti në atë skedar kur ato ndodhin. Kjo e bën atë një mjet të shkëlqyeshëm për të monitoruar skedarët e regjistrave.

Shumë shpërndarje moderne Linux kanë adoptuar sistemin dhe menaxherin e shërbimit systemd. Ky është procesi i parë i ekzekutuar, ka ID 1 të procesit dhe është prindi i të gjitha proceseve të tjera. Ky rol më parë trajtohej nga sistemi më i vjetër init.

Së bashku me këtë ndryshim erdhi një format i ri për skedarët e regjistrave të sistemit. Nuk krijohen më në tekst të thjeshtë, nën systemd ato regjistrohen në një format binar. Për të lexuar këto skedarë log, duhet të përdorni mjetin journactl. Komanda tail funksionon me formate teksti të thjeshtë. Nuk lexon skedarë binare. Pra, a do të thotë kjo komanda tail është një zgjidhje në kërkim të një problemi? A ka ende ndonjë gjë për të ofruar?

Ka më shumë te komanda tail sesa shfaqja e përditësimeve në kohë reale. Dhe për këtë çështje, ka ende shumë skedarë regjistrash që nuk janë krijuar nga sistemi dhe ende krijohen si skedarë teksti të thjeshtë. Për shembull, skedarët e regjistrit të krijuar nga aplikacionet nuk e kanë ndryshuar formatin e tyre.

Duke përdorur bisht

Kaloni emrin e një skedari në tail dhe ai do t'ju tregojë dhjetë rreshtat e fundit nga ai skedar. Skedarët e shembullit që po përdorim përmbajnë lista fjalësh të renditura. Çdo rresht është i numëruar, kështu që duhet të jetë e lehtë të ndiqni shembujt dhe të shihni se çfarë efekti kanë opsionet e ndryshme.

tail word-list.txt

Për të parë një numër të ndryshëm rreshtash, përdorni opsionin -n (numri i rreshtave):

tail -n 15 word-list.txt

Në fakt, ju mund të hiqni dorë nga -n, dhe thjesht përdorni një vizë ndarëse - dhe numrin. Sigurohuni që të mos ketë hapësira midis tyre. Teknikisht, kjo është një formë komandimi e vjetëruar, por është ende në faqen e njeriut dhe ende funksionon.

tail -12 word-list.txt

Përdorimi i bishtit me skedarë të shumtë

Ju mund të punoni tail me shumë skedarë njëherësh. Thjesht kaloni emrat e skedarëve në vijën e komandës:

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

Një kokë e vogël shfaqet për çdo skedar në mënyrë që të dini se cilit skedar i përkasin rreshtat.

Shfaqja e linjave nga fillimi i një skedari

Modifikuesi + (numërimi nga fillimi) bën që tail  linja të shfaqë nga fillimi i një skedari, duke filluar nga një numër rreshti specifik. Nëse skedari juaj është shumë i gjatë dhe zgjidhni një rresht afër fillimit të skedarit, do të merrni shumë rezultate të dërguara në dritaren e terminalit. Nëse është kështu, ka kuptim që të përcillni daljen nga tail në më pak.

tail +440 list-1.txt

Ju mund të kaloni nëpër tekst në një mënyrë të kontrolluar.

Për shkak se ka 20,445 rreshta në këtë skedar, kjo komandë është e barabartë me përdorimin e opsionit -6:

tail +20440 list-1.txt

Përdorimi i bajteve me bisht

Mund t'i thuash tail të përdorë zhvendosje në bajt në vend të rreshtave duke përdorur opsionin -c (bajt). Kjo mund të jetë e dobishme nëse keni një skedar teksti që është formatuar në regjistrime me madhësi të rregullt. Vini re se një karakter i linjës së re llogaritet si një bajt. Kjo komandë do të shfaqë 93 bajtët e fundit në skedar:

tail -c 93 list-2.txt

Ju mund të kombinoni opsionin -c (bajt) me modifikuesin + (numërimi nga fillimi i skedarit) dhe të specifikoni një zhvendosje në bajt të numëruar nga fillimi i dosje:

tail -c +351053 list-e.txt

Tubacione në bisht

Më parë, ne e dërguam daljen nga tailless . Ne gjithashtu mund të dërgojmë daljen nga komandat e tjera në tail.

Për të identifikuar pesë skedarët ose dosjet me kohët më të vjetra të modifikimit, përdorni opsionin -t (rendit sipas kohës së modifikimit) me ls dhe futni daljen në bisht .

ls -tl | tail -5

Komanda head liston linjat e tekstit nga fillimi i një skedari. Mund ta kombinojmë këtë me tail për të nxjerrë një seksion të skedarit. Këtu, ne po përdorim komandën head për të nxjerrë 200 rreshtat e parë nga një skedar. Kjo po futet në tail, e cila po nxjerr dhjetë rreshtat e fundit. Kjo na jep rreshtat 191 deri në rreshtin 200. Kjo do të thotë, dhjetë rreshtat e fundit të 200 rreshtave të parë:

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

Kjo komandë rendit pesë proceset më të etur për memorie.

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

Le ta zbërthejmë atë.

Komanda ps shfaq informacione rreth proceseve të ekzekutimit. Opsionet e përdorura janë:

  • a: Listoni të gjitha proceset, jo vetëm për përdoruesin aktual.
  • u: Shfaq një dalje të orientuar nga përdoruesi.
  • x: Listoni të gjitha proceset, duke përfshirë ato që nuk ekzekutohen brenda një TTY.

Komanda sort rendit daljen nga ps . Opsionet që po përdorim me sort janë:

  • n:  Rendit numerikisht.
  • k +4: Renditni në kolonën e katërt.

Komanda tail -5 shfaq pesë proceset e fundit nga dalja e renditur. Këto janë pesë proceset më të etur për memorie.

Përdorimi i bishtit për të gjurmuar skedarët në kohë reale

Gjurmimi i hyrjeve të reja të tekstit që vijnë në një skedar - zakonisht një skedar log - është i lehtë me tail. Kaloni emrin e skedarit në vijën e komandës dhe përdorni opsionin -f (ndiqni).

tail -f geek-1.log

Ndërsa çdo hyrje e re e regjistrit shtohet në skedarin e regjistrit, bishti përditëson shfaqjen e tij në dritaren e terminalit.

Ju mund ta rafinoni rezultatin për të përfshirë vetëm linja me rëndësi ose interes të veçantë. Këtu, ne po përdorim grep për të treguar vetëm rreshta që përfshijnë fjalën mesatare:

tail -f geek-1.log | grep average

Për të ndjekur ndryshimet në dy ose më shumë skedarë, kaloni emrat e skedarëve në vijën e komandës:

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

Çdo hyrje është etiketuar me një kokë që tregon se nga cili skedar erdhi teksti.

Ekrani përditësohet sa herë që vjen një hyrje e re në një skedar të ndjekur. Për të specifikuar periudhën e përditësimit, përdorni opsionin -s (periudha e gjumit). Kjo i thotë tail të presë disa sekonda, pesë në këtë shembull,  ndërmjet kontrolleve të skedarëve.

tail -f -s 5 geek-1.log

Pa dyshim, nuk mund ta dallosh duke parë një pamje të ekranit, por përditësimet në skedar ndodhin një herë në dy sekonda. Regjistrimet e skedarëve të rinj afishohen në dritaren e terminalit një herë në pesë sekonda.

Kur jeni duke ndjekur shtesat e tekstit në më shumë se një skedar, mund të shtypni titujt që tregojnë se nga cili skedar log vjen teksti. Përdorni opsionin -q (i qetë) për ta bërë këtë:

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

Prodhimi nga skedarët shfaqet në një përzierje teksti pa probleme. Nuk ka asnjë tregues se nga cili skedar log ka ardhur çdo hyrje.

bishti ende ka vlerë

Megjithëse aksesi në skedarët e regjistrit të sistemit tani ofrohet nga journalctl, tail ka ende shumë për të ofruar. Kjo është veçanërisht e vërtetë kur përdoret së bashku me komanda të tjera, duke futur në ose jashtë tail.

systemd mund të ketë ndryshuar peizazhin, por ka ende një vend për shërbimet tradicionale që përputhen me filozofinë Unix për të bërë një gjë dhe për ta bërë atë mirë.

RELATED: Best Linux Laptops for Developers and Enthusiasts