locate zoekt razendsnel naar bestanden via een vooraf opgebouwde database. Veel sneller dan find, maar de database moet actueel zijn.
locate passwd
locate "*.conf"
locate -i readme # hoofdletterongevoelig
| Optie | Betekenis |
|---|---|
-i | Hoofdletterongevoelig zoeken |
-c | Alleen het aantal resultaten tonen |
-l n | Maximaal n resultaten |
-r patroon | Zoeken met reguliere expressie |
-e | Alleen bestaande bestanden tonen |
--basename | Alleen op bestandsnaam zoeken (niet het pad) |
Alle .conf-bestanden:
locate -i "*.conf" | grep /etc/
Alleen bestaande bestanden (database kan verouderd zijn):
locate -e zoekterm
Exact op bestandsnaam:
locate --basename "nginx.conf"
Aantal resultaten:
locate -c ".log"
locate werkt vanuit een database die periodiek wordt bijgewerkt. Forceer een update:
sudo updatedb
Dit gebeurt normaal automatisch via een dagelijkse cron-taak. Na het aanmaken van nieuwe bestanden zijn die pas vindbaar na de volgende updatedb.
Gebruik locate -e zoekterm om te filteren op bestanden die echt bestaan — de database kan bestanden bevatten die al verwijderd zijn.