Kui tegemist on failide ja kaustade efektiivse leidmisega Linux süsteemis, on kaks peamist käsku, mis on saadaval: find ja locate. Mõlemal on omad tugevused ja rakendused. Selles juhendis saad teada, kuidas neid käske kasutada, et kiiresti ja sihipärast vajalikke andmeid leida, olgu need kodu kataloogis või kogu kõvakettal.
Olulised punktid
- locate on kiirem, kuna see kasutab andmebaasi, kuid ei pruugi olla ajakohane.
- find otsib otse kõvakettalt ja on alati ajakohane, kuid võib olla aeglasem.
- Mõlemad käsud pakuvad erinevaid valikuvõimalusi, et täpsustada sinu otsingupäringuid.
Sammsammuline juhend
1. Esimene ülevaade: locate
Alusta oma otsingut käsuga locate. See on eriti lihtne, kui tead faili täpset nime või osa nimest. Oletame, et soovid leida faili „Gelaat“. Mine oma juurkatalooge ja sisesta järgmine käsk:
locate Gelaat
Selle käsuga otsib locate andmebaasist kõiki kandeid ja loetleb failid, mis sisaldavad otsingutermin „Gelaat“.

2. Ignoreeri suurtähti
Kas soovid oma otsingus ignoreerida suurtähti? Siis saad kasutada valikut -i:
locate -i gelaat
Nii saad nimekirja, mis sisaldab nii „Gelaat“ kui ka „gelaat“.

3. Täpsus regulaaravaldiste kaudu
Kui soovid läbi viia täpsema otsingu, saad locate'iga kasutada ka regulaaravaldisi. Näiteks, et otsida täpselt „ls“, saad kasutada valikut -b koos kaitstud sulgudega:
locate -b '/ls'
See tagab, et saad ainult tulemusi, mis vastavad täpselt „ls“.

4. Andmebaasi värskendamine
Kui oled loonud uue faili ja soovid veenduda, et locate leiab selle, pead värskendama andmebaasi. Selle teed järgmist käsku kasutades:
sudo updatedb
See käsk värskendab andmebaasi ja viib selle ajakohaseks.

5. find käsu kasutamine
Find käsk on eriti kasulik, kui soovid oma otsingule täpsemaid kriteeriume defineerida. Näiteks, et otsida kodukataloogis faili nimega „xyz“, saad kasutada järgmist käsku:
find ~/ -name 'xyz'
See otsib ainult kodukataloogis „xyz”.

6. Filtreerimine failitüübi järgi
Et otsida ainult teatud failitüüpe, saad kasutada valikut -type. Näiteks, et leida ainult kaustasid:
find /var/log -type d
Selle käsklusega loetled kõik kaustad kataloogis /var/log.

7. Failide otsimine suuruse järgi
Kui soovid otsida faile nende suuruse alusel, saad kasutada valikut -size. Näiteks, et leida faile, mis on suuremad kui 1 MB:
find / -type f -size +1M
Käsk otsib kogu süsteemis faile, mis on suuremad kui 1 megabait.

8. Failide leidmine teatud ajavahemikus
Sa saad otsida ka faile, mis on muudetud teatud aja jooksul. Kui soovid näiteks leida faile, mis on viimase 48 tunni jooksul muudetud, kasutad:
find / -type f -mtime -2
Siin tähendab „-mtime -2” faile, mis on viimase kahe päeva jooksul muudetud.

9. Otsingukriteeriumide kombinatsioonid
Mitme otsingukriteeriumi kombinatsioon parendab sinu päringute täpsust. Sa saad filtreerida samaaegselt failitüübi ja viimati muudetud kuupäeva järgi:
find /opt -type f -mtime -1
Nii leiad kõik failid kataloogis /opt, mis on viimase 24 tunni jooksul muudetud.

10. Kokkuvõte failide otsimisest
Käskude find ja locate abil oled hästi varustatud, et tõhusalt leida faile ja kaustu oma Linuxi süsteemis. Sa saad valida kiirus ja ajakohane andmebaas, vastavalt oma vajadustele.
Kokkuvõte – Failide ja kaustade otsimine Linuxis – find ja locate üksikasjalikult
Failide ja kaustade leidmine Linuxis on käsudega find ja locate kui laste mäng. Mõlemad käsud pakuvad sulle erinevaid võimalusi otsingu kohandamiseks.
Korduma kippuvad küsimused
Mis vahe on find ja locate vahel?find otsib reaalajas kõvakettalt, samas kui locate kasutab andmebaasi ja on seega kiirem, kuid ei pruugi alati ajakohaseid tulemusi anda.
Kuidas värskendada locate andmebaasi?Käskudega sudo updatedb saad värskendada locate andmebaasi.
Kas ma saan find'i abil otsida faili suuruse järgi?Jah, see on võimalik, kasutades valikut -size.
Kuidas saan kitsendada oma otsingut faili- või kaustanimede järgi?Kasutades valikuid -name või -type, et sihipäraselt otsida teatud nimesid või failitüüpe.
Mis on näide otsingukriteeriumide kombinatsioonist?Sa saad kasutada find'i, et otsida faile tüübiga -type f ja samal ajal määrata, et failid on viimase 24 tunni jooksul muudetud -mtime -1.