Teksti vaatamine ja liikumine
Selles peatükis vaatame käske nagu cat, more, less, head ja tail.
Loogika
Need käsud on omavahel seotud, sest nad aitavad sul enne muutmist kõigepealt sisu vaadata.
Praktiline mõtteviis on:
- lühikese faili jaoks kasuta
cat - pikema faili jaoks kasuta
less - kui fail on pikem kui korraga mugav vaadata, siis kasuta
headvõitail, et näha ainult algust või lõppu
See on seotud failide ja logidega töötamise loogikaga: enne mõista, siis muuda.
Kiirspikker
cat fail.txtkuvab faili tervikunaless fail.txtavab faili mugavaks sirvimisekshead fail.txtnäitab algusttail fail.txtnäitab lõpputail -f logi.txtjälgib faili muutumistlesssees/musterotsib tekstilesssees78gläheb reale 78lesssees25%või25pläheb umbes veerandi peale faili sisse
Kõige tavalisemad valikud:
head -n 20näita esimesed 20 ridatail -n 20näita viimased 20 ridatail -fjälgi faili juurde lisanduvat sisu
Käivita need käsud
seq 25 > numbrid.txt
head -n 7 numbrid.txt
tail -n 7 numbrid.txt
less numbrid.txt
less sees:
qväljub/tekstotsib edasinliigub järgmise vaste juurdegläheb faili algusseGläheb faili lõppu78gläheb reale 7825%või25pliigub 25% peale faili sisse
less sees saab hüpata rea või protsendi järgi
See on väga praktiline siis, kui fail on pikk ja sa ei taha ainult kerida, vaid minna kohe kindlasse kohta.
Näiteks:
seq 200 > numbrid.txt
less numbrid.txt
less sees võid kirjutada:
78g, et minna reale 7825%, et minna umbes veerandi peale faili sisse50%, et minna faili keskeleG, et minna faili lõppu
Loogika on:
- rea number +
gtähendab "mine sellele reale" - protsent +
%võiptähendab "mine selle koha peale failis"
See on eriti kasulik logide, konfiguratsioonifailide ja suurte andmefailide puhul.
Millal mida kasutada
catlühikese faili jaokslesspika faili või logi jaoksheadjatailsiis, kui fail on piisavalt pikk, et terve sisu korraga ei oleks mõistlik vaadata
Kõige sagedasem päriselu muster on:
tail -f app.log
või:
less /etc/passwd
tail -f logide vaatamiseks
tail -f on eraldi oluline juhtum, sest siin ei vaata sa ainult faili lõppu, vaid jälgid faili kasvu reaalajas.
See on seotud logide, serverite ja taustaprotsessidega:
- programm lisab faili uusi ridu
tail -fnäitab neid ridu kohe, kui need faili jõuavad- vaatamine kestab seni, kuni selle katkestad
Kõige tavalisem kasutus on:
tail -f app.log
Peata jälgimine:
Ctrl-c
Praktiline harjutus on teha kaks terminaliakent:
Esimeses aknas:
touch app.log
tail -f app.log
Teises aknas:
printf 'server käivitus\n' >> app.log
printf 'viga: ühendus katkes\n' >> app.log
Siis näed kohe, kuidas tail -f sobib logide vaatamiseks paremini kui tavaline cat või ühekordne tail -n 20.
Minitest
- Loo 25-realine fail
seq 25 > numbrid.txt. - Vaata esimesed 7 rida käsuga
head -n 7 numbrid.txt. - Vaata viimased 7 rida käsuga
tail -n 7 numbrid.txt. - Ava fail
lessabil ja otsi üles number17. - Ava pikem fail
seq 200 > numbrid.txt, siseneless-i ja proovi käske78gning25%. - Proovi logi jälgimist käsuga
tail -f app.logja lisa teises terminalis faili paar rida juurde.