locate (Unix)

z Wikipédie, slobodnej encyklopédie
Skočit na navigaci Skočit na vyhledávání

locate je unixový nástroj, ktorý slúži na vyhľadanie súborov v súborovom systéme. Vyhľadáva vo vopred vytvorenej databáze (indexe) súborov, ktorá je generovaná príkazom updatedb (a typicky aj pravidelne aktualizovaná spúšťaním updatedb z démona) a komprimovaná pomocou prírastkového kódovania. Nástroj vznikol v roku 1982.[1]

Nástroj pri väčšom množstve súborov umožňuje výrazne efektívnejšie vyhľadávanie než prosté iteratívne prehľadávanie adresárovej štruktúry (napríklad cez find). Je však potrebná pravidelná aktualizácia indexu, ku ktorej dochádza aj pokiaľ používateľ nástroj aktívne nepoužíva.

Použitie[upraviť | upraviť zdroj]

# aktualizuje databázu (trvalo 4 minút a 32,514 s)
$ updatedb --localpaths=/ --prunepaths="/home /srv /dev/shm"

# počet položiek v databáze (trvalo 1,319 s)
$ locate '*'|wc -l
776084

# vyhľadá súbory, ktoré v názve grub.cfg (trvalo 1,616 s)
$ locate grub.cfg
/boot/grub/grub.cfg
/etc/grub.d/backup/boot_grub/grub.cfg
/usr/share/doc/grub-common/examples/grub.cfg

Parametre updatedb v príklade:

  • localpaths – umiestnenia, ktoré zaindexuje (rekurzívne)
  • prunepaths – umiestnenia, ktoré pri indexácii vynechá (rekurzívne)

Implementácie[upraviť | upraviť zdroj]

Verzie BSD a GNU Findutils pochádzajú z pôvodnej implementácie.[2] Databáza s informáciami o súboroch je prístupná všetkým používateľom a index je vytváraný pod používateľom root.

locate je tiež zahrnutý v systéme MacOS.

mlocate (Merging Locate) a starší slocate (Secure Locate) používajú databázu zahŕňajúcu aj prístupové práva k súborom a pri vyhľadávaní zobrazuje len názvy súborov prístupné aktuálnemu používateľovi.[3][4]

Referencie[upraviť | upraviť zdroj]

  1. WOODS, James A.. Finding Files Fast [online]. Usenix, 1983-01-15, [cit. 2016-03-27]. S. 8 – 10. Dostupné online.
  2. Finding Files [online]. Free Software Foundation, 2012-11-17, [cit. 2016-03-27]. Dostupné online.
  3. TRMAČ, Miloslav. mlocate [online]. [Cit. 2005-11-29]. Dostupné online.
  4. LINDSAY, Kevin. Secure Locate [online]. 1999. Dostupné online.

Pozri aj[upraviť | upraviť zdroj]

Externé odkazy[upraviť | upraviť zdroj]

Zdroj[upraviť | upraviť zdroj]

  • Tento článok je čiastočný alebo úplný preklad článku Locate (Unix) na anglickej Wikipédii.