Muokataan sivua Locate

Siirry navigaatioon Siirry hakuun
Varoitus: Et ole kirjautunut sisään. IP-osoitteesi näkyy julkisesti kaikille, jos muokkaat. Jos kirjaudut sisään tai luot tunnuksen, muokkauksesi yhdistetään käyttäjänimeesi ja saat paremman käyttökokemuksen.

Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.

Nykyinen versio Oma tekstisi
Rivi 1: Rivi 1:
'''Locate''' on [[komentorivi]]ohjelma, jolla saa selville tiedoston tai [[Hakemisto|hakemiston]] sijainnin antamalla sille sen nimen osan. Locaten käyttö pohjautuu ennakolta luotuun tietokantaan, joten se toimii huomattavasti [[find]]-ohjelmaa nopeammin.  
Locate on komentoriviohjelma, jolla saat selville tiedoston tai [[Hakemisto|hakemiston]] sijainnin antamalla sille nimen osan. Locate on nopea, sillä se käyttää updatedb-ohjelman luomaa tietokantaa.


Puutteena suhteessa findiin on tietokannan luonnin jälkeen tapahtuneiden muutosten puuttuminen hakutuloksesta sekä edistyneempien toimintojen käyttö, kuten mahdollisuus tehdä hakuja muunkin kuin tiedostonnimen perusteella. Locaten haut kohdistuvat myös aina koko järjestelmään (rajoittuen toki niihin hakemistoihin, joihin käyttäjällä on lukuoikeus).
Esimerkiksi:
locate tetris


Yleisimmät locate-toteutukset ovat nimeltään slocate ja mlocate. Mlocate on [[Red Hat]]in kehittämä korvaava toteutus slocatelle. Mlocate poikkeaa slocatesta siinä, että se ei tietokannan päivityksen yhteydessä luo uudestaan koko tietokantaa, vaan päivittää vain muuttuneet tiedot. Tämä lyhentää tietokannan päivitysajan murto-osaan alkuperäisestä.
palauttaa löytämänsä tiedostot ja hakemistot:


==Käyttö==
Etsitään kaikki tiedostot, joiden hakupolku (tiedostonnimi + hakemisto-osa) sisältää sanan ''tetris'':
locate tetris
Tämä tulostaa esimerkiksi seuraavaa:
  /usr/games/[[Bsdgames|tetris-bsd]]
  /usr/games/[[Bsdgames|tetris-bsd]]
  /usr/share/doc/screen/terminfo/tetris.c
  /usr/share/doc/screen/terminfo/tetris.c
  /usr/share/man/man6/tetris-bsd.6.gz
  /usr/share/man/man6/tetris-bsd.6.gz
  /var/games/bsdgames/tetris-bsd.scores
  /var/games/bsdgames/tetris-bsd.scores
Jos halutaan kohdistaa haku vain varsinaisiin tiedostonnimiin, voidaan käyttää valitsinta <tt>-b</tt>:
locate -b game
Valitsimella <tt>-r</tt> voidaan käyttää hyödyksi [[säännöllinen lauseke|säännöllisiä lausekkeita]]. Seuraava etsisi kaikki tiedostot, joiden varsinainen tiedostonnimi alkaa kirjaimella <tt>p</tt> ja päättyy merkkeihin <tt>eters</tt>. Huomaa lainausmerkit, jotka estävät [[komentotulkki]]a tulkitsemasta väärin komennon erikoismerkkejä.
locate -br '^p.*eters$'
Valitsimella <tt>-e</tt> voidaan etsiä vain ne tiedostot, jotka yhä ovat olemassa. Koska locate tässä tapauksessa joutuu jokaisen tietokantaosuman kohdalla tarkistamaan tiedoston olemassaolon, on tämä hakutapa hieman tavallista hitaampi.
locate -e bsd
==Tietokannan päivitys==
Locaten tietokanta päivitetään komennolla
updatedb
Tämä edellyttää [[pääkäyttäjä]]n oikeuksia ja kannattaa ainakin slocaten tapauksessa ajaa taustalla. Updatedb:iä ei kuitenkaan yleensä ole tarvetta suorittaa käsin, sillä useimmissa [[jakelu]]issa se on määritelty [[cron]]in avulla suoritettavaksi kerran vuorokaudessa.
==Katso myös==
*[[Find]]
*[[Xargs]]
*[[Basename]]
*[[Dirname]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Komentorivin perustyökalut]]
Wikin materiaali on kaikkien vapaasti käytettävissä Creative Commons 3.0 - nimi mainittava -lisenssin alaisuudessa. TEKIJÄNOIKEUDEN ALAISEN MATERIAALIN KÄYTTÄMINEN ILMAN LUPAA ON EHDOTTOMASTI KIELLETTYÄ!

Muokataksesi tätä sivua vastaa alla olevaan kysymykseen (lisätietoja):

Peruuta Muokkausohjeet (avautuu uuteen ikkunaan)
Noudettu kohteesta ”https://www.linux.fi/wiki/Locate