Delovi fajlova
Cilj lekcije: Naučiti kako da pregledaš samo početak ili kraj fajla, i kako da pratiš log fajlove u realnom vremenu dok se popunjavaju.
Zašto gledati samo deo fajla?
Zamislimo da imaš log fajl servera koji ima 500.000 linija. Otvaranje takvog fajla sa cat bi preplavilo terminal. Sa less možeš da prelistaš, ali ako te zanima samo:
- Koje su prve linije fajla (zaglavlje, format, start programa)?
- Koje su poslednje linije (najnoviji događaji, poslednje greške)?
- Šta se trenutno dešava dok server radi?
Za sve ove situacije postoje head i tail.
Komanda head
head prikazuje prvih N linija fajla. Po podrazumevanoj vrednosti prikazuje prvih 10 linija.
Osnovna upotreba
head fajl.txt
Prikazuje prvih 10 linija fajla fajl.txt.
Opcija -n — broj linija
Možeš da specificiraš koliko linija želiš:
head -n 20 fajl.txt
head -n 1 fajl.txt # samo prva linija
head -n 100 fajl.txt # prvih 100 linija
Kraći oblik koji mnogi koriste:
head -20 fajl.txt # ekvivalentno sa head -n 20
Praktični primeri sa logovima
# Pogledaj format log fajla (prve 5 linija)
head -n 5 /var/log/syslog
# Proveri zaglavlje CSV fajla
head -n 1 podaci.csv
# Pogledaj početak skripte
head -n 20 install.sh
head sa više fajlova
Kada prosleđuješ više fajlova, head prikazuje zaglavlje za svaki:
head -n 3 fajl1.txt fajl2.txt
Izlaz:
==> fajl1.txt <==
Linija 1 iz fajla 1
Linija 2 iz fajla 1
Linija 3 iz fajla 1
==> fajl2.txt <==
Linija 1 iz fajla 2
Linija 2 iz fajla 2
Linija 3 iz fajla 2
Komanda tail
tail prikazuje poslednjih N linija fajla. Po podrazumevanoj vrednosti prikazuje poslednjih 10 linija.
Osnovna upotreba
tail fajl.txt
Prikazuje poslednjih 10 linija.
Opcija -n — broj linija
tail -n 20 fajl.txt # poslednjih 20 linija
tail -n 1 fajl.txt # samo poslednja linija
tail -n 50 fajl.txt # poslednjih 50 linija
Zašto je tail koristan za logove?
Log fajlovi se uvek pišu hronološki — nove informacije se dodaju na kraj fajla. Kada server prijavi grešku, ona je na dnu. Kada aplikacija startuje, nova poruka se pojavljuje na kraju.
# Pogledaj poslednjih 20 linija log fajla
tail -n 20 /var/log/auth.log
# Pogledaj poslednju grešku
tail -n 5 /var/log/nginx/error.log
Komanda tail -f — praćenje fajla uživo
Ovo je jedna od najkorisnijih komandi za sistem administratore i programere. Opcija -f (od follow — pratiti) čini da tail ne izađe nakon prikazivanja poslednjih linija, već ostane i prikazuje svaku novu liniju čim bude zapisana u fajl.
tail -f /var/log/syslog
Terminal ostaje "živ" i svaki novi zapis u fajlu se odmah pojavljuje na ekranu. Da izađeš, pritisni Ctrl+C.
Praktičan scenario: debugovanje web servera
# Terminal 1 — pratis log fajl
# (nginx je popularan web server — log fajl pamti svaki HTTP zahtev)
tail -f /var/log/nginx/access.log
# (U terminalu 2 ili browseru) Posecujes stranicu
# U terminalu 1 odmah vidis:
# 192.168.1.5 - - [13/Apr/2026 14:23:45] "GET / HTTP/1.1" 200 1234
Kombinovanje -f i -n
# Prikaži poslednjih 50 linija, pa nastavi da pratiš
tail -n 50 -f /var/log/syslog
Praćenje više fajlova odjednom
tail -f /var/log/nginx/access.log /var/log/nginx/error.log
tail -f će označiti ime fajla iznad svake grupe linija da znaš odakle dolaze.
Kombinovanje head i tail
Možeš kombinovati ove komande. Na primer, da vidiš linije od 95 do 100 u fajlu:
# Uzmi prvih 100 linija, pa od toga poslednjih 6
head -n 100 fajl.txt | tail -n 6
Pregled komandi
| Komanda | Šta radi |
|---|---|
head fajl.txt |
Prvih 10 linija |
head -n 20 fajl.txt |
Prvih 20 linija |
tail fajl.txt |
Poslednjih 10 linija |
tail -n 20 fajl.txt |
Poslednjih 20 linija |
tail -f fajl.txt |
Prati fajl uživo (Ctrl+C za izlaz) |
tail -n 50 -f fajl.txt |
Poslednjih 50, pa prati uživo |
Rezime
headprikazuje početak fajla (podrazumevano 10 linija)tailprikazuje kraj fajla (podrazumevano 10 linija)- Opcija
-nkontroliše broj linija kod oba alata tail -fprati fajl u realnom vremenu — nezamenjljivo za praćenje logova- Korisno za log fajlove jer su najnoviji zapisi uvek na kraju
U sledećoj lekciji naučićeš kako da dobiješ informacije o samom fajlu — tip, veličinu, broj reči i metapodatke.