10 praktičnih primjera korisnih naredbi 'locate' za početnike u Linuxu


Jedno od najneprijatnijih iskustava s kojima se obično susreće većina novih korisnika Linux platforme je nemogućnost pronalaženja najjednostavnijeg, a opet učinkovitijeg načina traženja datoteka na njihovom sustavu.

Linux, kao i gotovo svaki drugi operativni sustav, koristi nekoliko mehanizama za odgovaranje na upite pretraživanja za korisnike. Dva najpopularnija pomoćna programa za pretraživanje datoteka dostupnih korisnicima zovu se pronađi i lociraj.

Sada je važno napomenuti da oba procesa pretraživanja rade izuzetno dobro, ali bez obzira na to, središte ovog članka više će biti na uslužnom programu lociraj, koji je praktičniji od ova dva jer koristi učinkovitije načine za brzu obradu upita koje unose korisnici.

Uslužni program locate radi bolje i brže nego njegov pandan find jer umjesto pretraživanja datotečnog sustava kada se pokrene pretraživanje datoteka – nešto find radi – locate bi tražio kroz bazu podataka. Ova baza podataka sadrži bitove i dijelove datoteka i njihove odgovarajuće staze na vašem sustavu.

Evo deset jednostavnih naredbi za lociranje koje će vam pomoći da postanete produktivniji sa svojim Linux strojem.

1. Korištenje naredbe locate

Pokretanje naredbe locate za traženje datoteke prilično je jednostavno i jednostavno. Sve što trebate učiniti je upisati:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. Ograničite upite za pretraživanje na određeni broj

Možete ograničiti rezultate pretraživanja na traženi broj kako biste izbjegli redundanciju s rezultatima pretraživanja pomoću naredbe -n.

Na primjer, ako želite samo 20 rezultata vaših upita, možete upisati sljedeću naredbu:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

Rezultati će pokazati prvih 20 datoteka koje završavaju s .html.

3. Prikažite broj odgovarajućih unosa

Ako želite prikazati broj svih odgovarajućih unosa datoteke “tecmint“, koristite naredbu locate -c.


$ locate -c [tecmint]*

1550

4. Zanemarite Locate izlaze koji razlikuju velika i mala slova

Prema zadanim postavkama, locate je konfiguriran za obradu upita na način koji razlikuje velika i mala slova, što znači da će vas TEXT.TXT uputiti na drugačiji rezultat od text.txt .

Da bi naredba lociraj zanemarila osjetljivost na velika i mala slova i prikazala rezultate za upite s velikim i malim slovima, unesite naredbe s opcijom -i.


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. Osvježite mlocate bazu podataka

Budući da se naredba locate oslanja na bazu podataka koja se zove mlocate. Navedenu bazu podataka potrebno je redovito ažurirati kako bi uslužni program za naredbe radio
efikasno.

Za ažuriranje baze podataka mlocate koristite pomoćni program koji se zove updatedb. Treba imati na umu da će vam trebati privilegije superkorisnika da bi ovo ispravno radilo, bilo da se mora izvršiti kao root ili sudo privilegije.


sudo updatedb

6. Prikaži samo datoteke prisutne u vašem sustavu

Kada imate ažuriranu bazu podataka mlocate**, naredba locate i dalje daje rezultate datoteka čije su fizičke kopije izbrisane iz vašeg sustava.

Kako biste izbjegli vidjeti rezultate datoteka koje nisu prisutne na vašem računalu u trenutku upisivanja naredbe, morat ćete upotrijebiti naredbu locate-e. Proces pretražuje vaš sustav kako bi potvrdio postojanje datoteke koju tražite čak i ako je još uvijek prisutna u vašem mlocate.db.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Odvojite izlazne unose bez novog retka

Zadani razdjelnik naredbe lociraj znak je novog retka (\\n). Ali ako radije koristite drugi razdjelnik kao što je ASCII NUL, to možete učiniti pomoću opcije -0 naredbenog retka.


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. Pregledajte svoju bazu podataka Locate

Ako ste u nedoumici oko trenutnog statusa vaše mlocate.db, možete jednostavno vidjeti statistiku locirane baze podataka pomoću naredbe -S.


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Spriječite poruke o pogrešci u Locate

Neprestani pokušaj pristupa vašoj bazi podataka lociranja ponekad daje nepotrebne poruke o pogrešci u kojima se navodi da nemate potrebne ovlasti za root pristup mlocate.db, jer ste samo običan korisnik, a ne potreban Superuser.

Da biste u potpunosti uklonili ove poruke, koristite naredbu -q.


locate "\*.dat" -q*

10. Odaberite drugu mlocate lokaciju

Ako unosite upite koji traže rezultate koji nisu prisutni u zadanoj bazi podataka mlocate i želite odgovore iz drugog mlocate.db koji se nalazi negdje drugdje u vašem sustavu, možete pokazati naredbu locate u drugu bazu podataka mlocate na drugom dijelu vašeg sustava pomoću naredbe -d.


locate -d <new db path> <filename>

Naredba locate može se činiti kao jedan od onih uslužnih programa koji radi sve što ste od nje zatražili bez puno gužve, ali zapravo, kako bi proces zadržao svoju učinkovitost, mlocate.db potrebno ga je s vremena na vrijeme hraniti informacijama. Ako to ne učinite, program bi mogao biti pomalo beskoristan.