Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Linux

Kako delujeta ukaza tail in head

ikona

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.

back Nazaj na blog