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 tail
në less
. 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ë.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts