Ko gre za datoteke in mape, ki jih je treba učinkovito najti v sistemu Linux, sta na voljo dva glavna ukaza: find in locate. Oba imata svoje prednosti in primere uporabe. V tem priročniku boš izvedel, kako lahko ta ukaza uporabiš za hitro in ciljno iskanje potrebnih podatkov, bodisi v domačem imeniku bodisi na celotnem trdem disku.
Najpomembnejše ugotovitve
- locate je hitrejši, saj uporablja bazo podatkov, vendar morda ni ažuren.
- find išče neposredno na trdem disku in je vedno ažuren, lahko pa je počasnejši.
- Oba ukaza ponujata različne možnosti za natančnejše iskanje.
Navodila po korakih
1. Prvi pregled: locate
Začni svoje iskanje z ukazom locate. To je še posebej enostavno, če poznaš natančno ime ali del imena datoteke. Recimo, da želiš najti datoteko "Sonce". Pojdi v svoj osnovni imenik in vnesi naslednji ukaz:
locate Sonce
Ta ukaz bo locirati vse vnose v bazi podatkov in ti našel datoteke, ki vsebujejo iskalni izraz "Sonce".

2. Ignoriranje velikih in majhnih črk
Želiš pri svojem iskanju ignorirati velike in male črke? Potem lahko uporabiš možnost -i:
locate -i sonce
Tako dobiš seznam, ki vsebuje tako "Sonce" kot "sonce".

3. Natančnost preko regularnih izrazov
Če želiš izvesti natančnejše iskanje, lahko z locate uporabiš tudi regularne izraze. Na primer, da bi iskal točno "ls", lahko uporabiš možnost -b v kombinaciji s zaščitenimi okviri:
locate -b '/ls'
To poskrbi, da dobiš samo rezultate, ki natančno ustrezajo "ls".

4. Posodobitev baze podatkov
Če si ustvaril novo datoteko in želiš zagotoviti, da jo locate najde, moraš posodobiti bazo podatkov. To storiš z ukazom:
sudo updatedb
Ta ukaz posodobi bazo podatkov in prinese najsodobnejše stanje.

5. Uporaba find
Ukaz find je še posebej koristen, ko želiš natančneje določiti kriterije za svoje iskanje. Na primer, da bi iskal datoteko z imenom "xyz" v domačem imeniku, lahko uporabiš naslednji ukaz:
find ~/ -name 'xyz'
To išče samo v domačem imeniku za "xyz".

6. Filtriranje po tipu datoteke
Da bi iskal samo določen tip datotek, lahko uporabiš možnost -type. Na primer, da bi našel samo mape:
find /var/log -type d
Ta ukaz bo našel vse mape v imeniku /var/log.

7. Iskanje datotek po velikosti
Če želiš iskati datoteke na podlagi njihove velikosti, lahko uporabiš možnost -size. Na primer, da bi našel datoteke večje od 1 MB:
find / -type f -size +1M
Ta ukaz išče po celotnem sistemu za datoteke, ki so večje od 1 megabajta.

8. Iskanje datotek v določenem časovnem obdobju
Prav tako lahko iščeš po datotekah, ki so bile spremenjene v določenem časovnem obdobju. Če želiš na primer poiskati datoteke, ki so bile spremenjene v zadnjih 48 urah, uporabi:
find / -type f -mtime -2
Tukaj "-mtime -2" pomeni datoteke, ki so bile spremenjene v zadnjih dveh dneh.

9. Kombinacije iskalnih kriterijev
Kombinacija več iskalnih kriterijev izboljša natančnost tvojih poizvedb. Istočasno lahko filtriraš po tipu datoteke in zadnjem spremenjenem datumu:
find /opt -type f -mtime -1
Tako najdeš vse datoteke v imeniku /opt, ki so bile spremenjene v zadnjih 24 urah.

10. Zaključek o iskanju datotek
Z ukazi find in locate si dobro opremljen za učinkovito iskanje datotek in map na svojem Linux sistemu. Glede na svoje potrebe lahko izbiraš med hitrostjo in ažurnostjo podatkov.
Povzetek – Iskanje datotek in map v Linuxu – find in locate podrobno
Iskanje datotek in map v Linuxu je s find in locate enostavno. Obe ukaz ponujata različne možnosti, da prilagodiš iskanje.
Pogosto zastavljena vprašanja
Kako je razlika med find in locate?find išče v realnem času na trdem disku, medtem ko locate uporablja bazo podatkov in je zato hitrejši, a morda ne prinaša ažurnih rezultatov.
Kako posodobim bazo podatkov locate?Z ukazom sudo updatedb lahko posodobiš bazo podatkov locate.
Ali lahko z find iščem po velikosti datoteke?Da, to je možno z uporabo možnosti -size.
Kako lahko omejim iskanje po imenu datoteke ali imenika?Uporabi možnosti -name ali -type, da natančno iščeš po določenih imenih ali tipih datotek.
Kakšen je primer kombinacije iskalnih kriterijev?Uporabiš lahko find, da iščeš po datotekah tipa -type f in hkrati navedeš, da so datoteke v zadnjih 24 urah spremenjene z -mtime -1.