locate (Unix)
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ť# 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ť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ť- ↑ WOODS, James A.. Finding Files Fast [online]. Usenix, 1983-01-15, [cit. 2016-03-27]. S. 8 – 10. Dostupné online.
- ↑ Finding Files [online]. Free Software Foundation, 2012-11-17, [cit. 2016-03-27]. Dostupné online.
- ↑ TRMAČ, Miloslav. mlocate [online]. [Cit. 2005-12-05]. Dostupné online. Archivované 2006-04-11 z originálu.
- ↑ LINDSAY, Kevin. Secure Locate [online]. 1999. Dostupné online.
Pozri aj
upraviť- mdfind v systéme MacOS
Externé odkazy
upraviť- GNU Findutils
- mlocate
- FreeBSD General Commands Manual –
- OpenBSD General Commands Manual –
- Linux User's Manual – User Commands –
- rlocate – variant využívajúci modul jadra a démona na neustále aktualizácie.
- KwickFind – frontend KDE GUI pre vyhľadanie
- Locate32 – grafický variant pre Microsoft Windows (už nie je aktívne vyvíjaný)
Zdroj
upraviť- Tento článok je čiastočný alebo úplný preklad článku Locate (Unix) na anglickej Wikipédii.