Komanda `less` omogućava korisnicima da pregledaju tekstualne datoteke, prikazujući sadržaj stranicu po stranicu. Iako na prvi pogled deluje jednostavno, `less` je daleko moćniji alat nego što se čini.
Kratka istorija komande less
U svetu Linuxa, sve ima svoju priču, pa tako i komanda `less`. Ona je evoluirala iz starije komande `more`, koja je prvi put predstavljena 1978. godine u okviru Berkeley Software Distribution Unix (3.0BSD). Komanda `more` je omogućavala sekvencijalno listanje teksta, prikazujući ga po ekranima.
Ključni nedostatak komande `more` bio je nemogućnost kretanja unazad kroz datoteku. Upravo je to inspirisalo Marka Nudlmana da kreira `less`, koja je prevazišla taj problem. Razvoj je započet 1983. godine, a prva verzija je objavljena 1985. Zanimljivo je da se i danas, od oktobra 2019. godine, održavanje komande `less` i dalje aktivno sprovodi.
Teško je zamisliti korisnika Linuxa koji nije koristio `less`, makar i nesvesno. Čak i ako ga nisu koristili direktno za pregled datoteka, mnogi su ga koristili indirektno putem komande `man`, koja koristi `less` za prikaz stranica sa uputstvima.
Ova komanda ima mnogo trikova koje vredi naučiti.
Zašto je less bolji od more?
Komanda `less` se razvijala tokom godina, dodajući brojne opcije i funkcionalnosti. Poređenjem man stranice za less sa man stranicom za more, jasno se vidi superiornost komande `less`.
Iako je `more` vremenom prevazišao svoj početni nedostatak i sada omogućava kretanje unazad, `less` i dalje ima prednost u pogledu rada sa cevovodima (pipes). `More` ne može da se kreće unazad kroz izlaz cevovoda, dok `less` to može.
S obzirom na svoju fleksibilnost u navigaciji, mogućnost pregleda više datoteka, pretragu teksta, markere i rad sa cevovodnim ulazom, `less` je jasan pobednik. Preporučuje se korišćenje komande `less` umesto komande `more`.
Čitanje datoteke pomoću komande less
Da biste otvorili datoteku pomoću komande `less`, unesite njeno ime nakon komande:
less Ime-Datoteke.txt
Datoteka će biti učitana i prikazana. Početak datoteke će se pojaviti u prozoru terminala. Koristite točkić miša da se krećete kroz tekst.
Za kretanje napred po stranicu, koristite razmaknicu ili taster Page Down.
Za kretanje unazad po stranicu, koristite Page Up. Tasteri Home i End vas vode na početak i kraj datoteke, redom.
Ime datoteke se prikazuje u donjem levom uglu ekrana. Kada počnete da se krećete kroz datoteku, donji red se prazni. On se koristi za prikazivanje poruka i unos komandi.
Za izlazak iz programa `less`, pritisnite „q“.
Prikaz brojeva redova
Da biste prikazali brojeve redova u tekstualnoj datoteci, koristite opciju `-N`:
less -N Ime-Datoteke.txt
Brojevi redova mogu biti korisni za lakše snalaženje unutar datoteka, posebno onih koje nisu pisane kao standardni prozni tekst.
Pretraga u komandi less
Za pretragu teksta, pritisnite „/“, zatim unesite frazu za pretragu. Pretraga je osetljiva na velika i mala slova. Vaša fraza će biti prikazana u donjem redu ekrana. Pritisnite Enter za početak pretrage.
U ovom primeru, fraza za pretragu je „Enfield“, što je prikazano na dnu ekrana.
Pretraga se vrši od trenutne stranice do kraja datoteke. Ako želite da pretražite celu datoteku, idite na početak datoteke pre početka pretrage.
Ako se ne pronađe podudaranje, bićete obavešteni o tome. Ako se pronađe podudaranje, ekran će se pomeriti na pronađenu stavku.
Da biste pronašli sledeće podudaranje, pritisnite „n“. Za prethodno podudaranje pritisnite „N“.
Za pretragu unazad, od trenutne pozicije prema početku datoteke, pritisnite „?“, zatim unesite termin za pretragu. Za sledeće podudaranje pritisnite „n“, a za prethodno podudaranje „N“.
Važno je napomenuti da prilikom pretrage unazad, sledeće podudaranje (koje se pronalazi sa „n“) je ono koje je bliže vrhu datoteke, dok „N“ pronalazi podudaranje bliže dnu datoteke. Drugim rečima, „n“ i „N“ menjaju smer pretrage kada se pretražuje unazad.
Otvaranje datoteke sa zadatim terminom za pretragu
Možete koristiti opciju `-p` (pattern) da biste pretražili datoteku i prikazali stranicu sa prvim podudaranjem. Na taj način, umesto početne stranice, prikazaće se stranica na kojoj je prvo pronađen zadati termin.
Važno je napomenuti da nema razmaka između `-p` i termina za pretragu.
less -pEnfield Ime-Datoteke.txt
Datoteka će biti prikazana sa istaknutim prvim podudaranjem.
Navigacija u less: Najkorisniji tasteri
Koristite sledeće tastere za kretanje i pretragu kroz tekstualnu datoteku:
Pomeri se napred za jedan red | Strelica nadole, Enter, e ili j |
Pomeri se unazad za jedan red | Strelica nagore, y ili k |
Pomeri se napred za jednu stranicu | Razmaknica ili Page Down |
Pomeri se unazad za jednu stranicu | Page Up ili b |
Pomeri se udesno | Strelica udesno |
Pomeri se ulevo | Strelica ulevo |
Skoči na vrh datoteke | Home ili g |
Skoči na kraj datoteke | End ili G |
Pređi na određeni red | Unesite broj reda, zatim pritisnite „g“ |
Pređi na određeni procenat datoteke | Unesite procenat, zatim pritisnite „p“ ili „%“. |
Traži napred | Pritisnite „/“, unesite termin, npr. „/Jekyll“, zatim pritisnite Enter |
Traži unazad | Pritisnite „?“, unesite termin, npr. „?Hyde“, zatim pritisnite Enter |
Sledeće podudaranje | n |
Prethodno podudaranje | N |
Izađi | q |
Sažimanje praznih redova
Opcija `-s` (squeeze blank lines) uklanja uzastopne prazne redove i zamenjuje ih jednim praznim redom.
Ako u vašoj datoteci postoje višestruki prazni redovi, možete videti kako ih `less` tretira pomoću opcije `-s`:
less -s Ime-Datoteke.txt
Svi uzastopni prazni redovi će biti zamenjeni jednim praznim redom.
Pregled više datoteka
Komanda `less` može otvoriti više datoteka istovremeno, omogućavajući vam da se krećete između njih. `Less` pamti vašu poziciju u svakoj datoteci.
less Datoteka1.txt Datoteka2.txt
Datoteke će biti otvorene, a prva datoteka će biti prikazana. Biće prikazano koju datoteku trenutno gledate, kao i ukupan broj učitanih datoteka.
Da biste prešli na sledeću datoteku, pritisnite „:“, zatim „n“.
Ekran će se promeniti, prikazujući drugu datoteku, a informacije u donjem redu će se ažurirati kako bi pokazale da gledate drugu datoteku.
Da biste se vratili na prethodnu datoteku, ukucajte „:“, zatim pritisnite „p“.
Korišćenje markera (bookmarks)
Komanda `less` vam omogućava da postavite markere kako biste se lako vratili na označene delove teksta. Svaki marker je predstavljen jednim slovom. Da biste postavili marker na trenutnu liniju, pritisnite „m“, zatim slovo koje želite da koristite, na primer, „a“.
Kada pritisnete „m“, donji red ekrana prikazuje upit, čekajući da pritisnete taster sa slovom.
Čim pritisnete slovo, upit se uklanja.
Sa bilo koje druge lokacije u datoteci, lako se možete vratiti na marker pritiskom na apostrof („‘“), zatim pritisnite slovo markera na koji želite da se vratite. Kada pritisnete taster „‘“, biće zatražen marker na koji želite da idete.
Pritisnite slovo markera na koji želite da se vratite, i taj deo datoteke će vam biti prikazan.
Korišćenje cevovodnog ulaza sa less
Komanda `less` može prikazati informacije koje dolaze kao tok teksta iz cevovoda (pipe), jednako lako kao da je u pitanju datoteka.
Komanda `dmesg` prikazuje poruke bafera jezgra. Možemo proslediti izlaz `dmesg` u `less` koristeći sledeću komandu:
dmesg | less
Izlaz `dmesg` će biti prikazan.
Možete se kretati i pretraživati kroz cevovodni ulaz, baš kao da je u pitanju datoteka. Da biste videli najnovije poruke, pritisnite „End“ da biste otišli na dno datoteke.
Kako nove poruke pristižu, potrebno je konstantno pritiskati „End“ da bi `less` prikazao dno datoteke. Ovo nije najpraktičnije. Da bi `less` uvek prikazivao dno teksta, čak i kada se dodaju novi podaci, koristite opciju `+F` (forward). Obratite pažnju na korišćenje `+` umesto `-` kao oznake opcije.
dmesg | less +F
Oznaka opcije `+` govori `less`-u da tretira opciju kao da ste tu komandu koristili unutar `less`. Dakle, ako ste zaboravili da koristite opciju `+F`, pritisnite „F“ unutar `less`-a.
`Less` prikazuje donji deo teksta, prikazujući najnovije poruke od `dmesg`. Prikazuje poruku da čeka nove podatke. Kada se pojave nove poruke kernela, ekran se pomera tako da uvek možete videti najnovije poruke.
U ovom režimu, ne možete se kretati kroz tekst. On je posvećen prikazu dna teksta. Da biste izašli iz ovog režima, pritisnite Ctrl+c i bićete vraćeni u uobičajeni interaktivni `less` režim.
Uređivanje datoteka pomoću less
Možete uređivati datoteke sa `less` – pa, donekle. Ova komanda ne može direktno uređivati datoteke, ali ako pritisnete „v“ dok gledate datoteku, datoteka se prenosi u vaš podrazumevani uređivač. Kada izađete iz uređivača, vraćate se u `less`.
Pritisnite „v“ dok gledate datoteku u `less`:
Datoteka će biti učitana u podrazumevani editor, u ovom slučaju `nano`:
Kada zatvorite editor, vratićete se u `less`.
Zaključak
Iako se čini kontraintuitivno, u ovom slučaju `less` je bolji od `more`.