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".

Učinkovito iskanje datotek in map v Linuxu

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".

Učinkovito iskanje datotek in map z Linuxom

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".

Učinkovito iskanje datotek in map v Linuxu

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.

Učinkovito iskanje datotek in map v Linuxu

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".

Učinkovito iskanje datotek in map z Linuxom

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.

Učinkovito iskanje datotek in map z Linuxom

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.

Učinkovito iskanje datotek in map v Linuxu

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.

Učinkovito iskanje datotek in map v Linuxu

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.

Učinkovito iskanje datotek in map v Linuxu

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.