Kun on kyseessä tiedostojen ja kansioiden tehokas löytäminen Linux-järjestelmässä, käytettävissä on kaksi pääkomentoa: find ja locate. Molemmilla on omat vahvuutensa ja käyttötarkoituksensa. Tässä oppaassa opit, kuinka voit käyttää näitä komentoja löytääksesi tarvittavat tiedot nopeasti ja tarkasti, olipa kyseessä kotihakemisto tai koko kiintolevy.
Tärkeimmät havainnot
- locate on nopeampi, koska se käyttää tietokantaa, mutta se ei välttämättä ole ajantasainen.
- find etsii suoraan kiintolevyltä ja on aina ajantasainen, mutta voi olla hitaampi.
- Molemmat komennot tarjoavat erilaisia vaihtoehtoja hakujen tarkentamiseen.
Vaiheittainen opas
1. Ensimmäinen katsaus: locate
Aloita haku locate-komennolla. Tämä on erityisen helppoa, jos tiedät tiedoston tarkan nimen tai osan nimestä. Oletetaan, että haluat löytää tiedoston "Aurinko". Siirry juurihakemistoosi ja kirjoita seuraava komento:
locate Aurinko
Tällä komennolla locate käy läpi tietokannan kaikki merkinnät ja listaa tiedostot, jotka sisältävät hakusanan "Aurinko".

2. Huomioi isot ja pienet kirjaimet
Haluatko jättää isot ja pienet kirjaimet huomioimatta haussasi? Voit käyttää -i-vaihtoehtoa:
locate -i aurinko
Näin saat listan, joka sisältää sekä "Aurinko" että "aurinko".

3. Tarkkuutta säännöllisillä lausekkeilla
Jos haluat tehdä tarkemman haun, voit käyttää locatea myös säännöllisiä lausekkeita. Esimerkiksi, jotta voit etsiä vain tarkasti "ls", voit käyttää -b-vaihtoehtoa yhdessä suojattujen sulkujen kanssa:
locate -b '/ls'
Tämä varmistaa, että saat vain tuloksia, jotka vastaavat tarkasti "ls".

4. Päivitä tietokanta
Jos olet luonut uuden tiedoston ja haluat varmistaa, että locate löytää sen, sinun on päivitettävä tietokanta. Teet tämän komennolla:
sudo updatedb
Tämä komento päivittää tietokannan ja tuo sen ajantasaiseksi.

5. find-komennon käyttö
Find-komento on erityisen hyödyllinen, kun haluat määritellä tarkempia kriteerejä haullesi. Esimerkiksi etsiäksesi tiedostoa, jonka nimi on "xyz" kotihakemistosta, voit käyttää seuraavaa komentoa:
find ~/ -name 'xyz'
Tämä etsii vain kotihakemistosta "xyz".

6. Suodatus tiedostotyypin mukaan
Jos haluat etsiä vain tiettyjä tiedostotyyppejä, voit käyttää -type-vaihtoehtoa. Esimerkiksi etsiäksesi vain hakemistoja:
find /var/log -type d
Tällä komennolla listaat kaikki hakemistot hakemistossa /var/log.

7. Etsi tiedostoja koon mukaan
Jos haluat etsiä tiedostoja koon perusteella, voit käyttää -size-vaihtoehtoa. Esimerkiksi etsiäksesi yli 1 MB kokoisia tiedostoja:
find / -type f -size +1M
Tämä komento etsii koko järjestelmästä tiedostoja, jotka ovat suurempia kuin 1 megatavu.

8. Etsi tiedostoja tietyn ajan sisällä
Voit myös etsiä tiedostoja, jotka on muutettu tietyn ajan sisällä. Jos esimerkiksi haluat etsiä tiedostoja, jotka on muutettu viimeisten 48 tunnin aikana, käytä:
find / -type f -mtime -2
Tässä "mtime -2" tarkoittaa tiedostoja, jotka on muutettu viimeisen kahden päivän aikana.

9. Hakukriteerien yhdistelmät
Useiden hakukriteerien yhdistäminen parantaa kyselyjesi tarkkuutta. Voit suodattaa samanaikaisesti tiedostotyypin ja viimeisen muokkauspäivämäärän mukaan:
find /opt -type f -mtime -1
Näin löydät kaikki tiedostot hakemistossa /opt, jotka on muutettu viimeisten 24 tunnin aikana.

10. Yhteenveto tiedostohauista
Käyttämällä find- ja locate-komentoja olet hyvin varustautunut löytämään tehokkaasti tiedostoja ja kansioita Linux-järjestelmässäsi. Voit valita nopeuden ja ajantasaisen tietopohjan välillä tarpeidesi mukaan.
Yhteenveto – Tiedostojen ja kansioiden etsiminen Linuxissa – find ja locate yksityiskohtaisesti
Tiedostojen ja kansioiden löytäminen Linuxista find ja locate avulla on lastenleikkiä. Molemmat komennot tarjoavat erilaisia mahdollisuuksia muokata hakua yksilöllisesti.
Usein kysytyt kysymykset
mikä on ero findin ja locaten välillä?find etsii reaaliajassa kiintolevyltä, kun taas locate käyttää tietokantaa ja on siten nopeampi, mutta ei välttämättä anna ajantasaisia tuloksia.
Kuinka päivitetään locaten tietokanta?command sudo updatedb avulla voit päivittää locaten tietokannan.
Voinko etsiä tiedostoja koon perusteella findin avulla?Kyllä, se on mahdollista käyttämällä -size-vaihtoehtoa.
Kuinka voin rajoittaa hakua tiedoston tai hakemiston nimen perusteella?Käytä -name tai -type vaihtoehtoja etsiäksesi tarkasti tiettyjä nimiä tai tiedostotyyppejä.
Mikä on esimerkki hakukriteerien yhdistelmästä?Voit käyttää findia etsiäksesi tiedostoja tyypiltä -type f ja samanaikaisesti ilmoittaa, että tiedostot on muutettu viimeisten 24 tunnin aikana -mtime -1.