Delate z dolgimi dnevniškimi datotekami in vas zanima samo zadnjih nekaj vrstic? Ali pa želite hitro pogledati začetek konfiguracijske datoteke, ne da bi jo odprli v urejevalniku? Za to sta na Linux-u namenjena dva preprosta, a zelo uporabna ukaza: head in tail.
Kaj je head
Ukaz head izpiše začetek datoteke — privzeto prvih 10 vrstic. Uporaben je, ko želite hitro preveriti, kaj je v datoteki, brez odpiranja celotne vsebine.
head /var/log/syslog head -n 20 /var/log/syslog
Prvi ukaz izpiše prvih 10 vrstic, drugi pa prvih 20.Parameter -n (ali samo -) pove, koliko vrstic nas zanima.
Kaj je tail
Ukaz tail je nasprotje ukazu head — izpiše konec datoteke, privzeto zadnjih 10 vrstic. To je še posebej uporabno pri dnevnikih (logih), kjer so najnovejši zapisi na koncu datoteke.
tail /var/log/syslog tail -n 50 /var/log/syslog
tail -f: spremljanje v realnem času
Najzmogljivejša lastnost ukaza tail je možnost spremljanja datoteke v živo. Z parametrom -f (follow) tail najprej izpiše zadnjih 10 vrstic, ki so že v datoteki, in nato ostane odprt. Ko se v datoteki pojavi nov zapis, ga takoj izpiše na ekran, ne da bi čakal na naslednjega.
tail -f /var/log/syslog
Ukaz prekinete s tipko Ctrl+C. To je nepogrešljivo orodje pri odpravljanju napak na strežniku, saj v trenutku vidite vsak nov zapis v dnevniku.
Praktični primeri
| Ukaz | Kaj naredi |
|---|---|
| head index.html | Izpiše prvih 10 vrstic datoteke |
| head -n 5 index.html | Izpiše prvih 5 vrstic |
| tail syslog | Izpiše zadnjih 10 vrstic |
| tail -n 100 syslog | Izpiše zadnjih 100 vrstic |
| tail -f syslog | Spremlja datoteko v realnem času |
| head -c 1024 slika.jpg | Izpiše prvih 1024 bajtov |
Kombinacije s pipe
Prava moč ukazov head in tail se pokaže v kombinaciji z drugimi ukazi prek cevi (pipe, znak |). Pipe prestavi izpis enega ukaza na vhod drugega, vi pa si od rezultata vzamete samo tisti del, ki vas zanima.
ls -la | head -5 ps aux | tail -n 20 cat access.log | grep "napaka" | tail -n 10
Prvi ukaz izpiše le prvih 5 vrstic seznama datotek, drugi zadnjih 20 procesov, tretji pa zadnjih 10 vrstic, ki vsebujejo besedo "napaka". Takšne verige ukazov so vsakdanje orodje vsakega skrbnika sistema.
Ukaza head in tail sta majhna, hitra in prisotna na vsaki Linux namestitvi. Kadar delate s strežnikom prek SSH in potrebujete hiter vpogled v dnevnik, vam ta dva ukaza prihranita ogromno časa — brez odpiranja velikih datotek v urejevalniku.