Teksti vaatamine ja liikumine
Loogika
Faili vaatamiseks vali käsk selle järgi, kui palju sisu tahad korraga näha:
- lühikese faili jaoks kasuta
cat - pika faili sirvimiseks ja otsimiseks kasuta
less - faili alguse vaatamiseks kasuta
head - faili lõpu või värskeimate logiridade vaatamiseks kasuta
tail
cat trükib kogu faili kohe terminali. Kui fail on pikk, täidab see ekraani paljude ridadega ja varasem osa jääb terminali kerimisajalukku. Sellisel juhul on less parem, sest saad faili sees rahulikult liikuda, otsida ja q-ga väljuda.
Kiirülevaade
Eesmärk on valida vaatamiseks tööriist, mis ei uputa ekraani üle ega muuda faili.
| Käsk | Milleks | Mida tavaliselt näed |
|---|---|---|
cat fail | trüki kogu fail välja | pikk fail võib kiiresti mööda joosta |
less fail | lehitse ja otsi mugavalt | eraldi lehitsetav vaade |
head fail | vaata algust | lühike väljavõte algusest |
tail fail | vaata lõppu | lühike väljavõte lõpust |
tail -f fail | jälgi lõppu reaalajas | käsk jääb uusi ridu ootama |
Tüüpilised algaja vead
- kasutatakse
cat-i väga pika faili peal, kuigilessoleks parem - unustatakse, et
less-ist tulebq-ga välja tulla - aetakse segi “vaatan faili lõppu” ja “jälgin faili muutumist”
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 aitab siis, kui fail on pikk ja tahad kerimise asemel 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.
Peatüki täisspikker
Algaja
Eesmärk
lühikese faili jaoks kasuta cat; pika faili sirvimiseks ja otsimiseks kasuta less; faili alguse vaatamiseks kasuta head
Põhikujud
less fail.txtava lehitsejahead -n 7 fail.txtesimesed readtail -n 7 fail.txtviimased readtail -f app.logjälgi logiless *mitu faili korragacatnäita failiseqnumbrijadatouchloo või aja tempel
`less`-i klahvid
qvälju/tekstotsi edasinjärgmine vasteNeelmine vastevava redaktoris:n/:pjärgmine/eelmine fail