locate / updatedb

locate zoekt razendsnel naar bestanden via een vooraf opgebouwde database. Veel sneller dan find, maar de database moet actueel zijn.

Basisgebruik

locate passwd
locate "*.conf"
locate -i readme    # hoofdletterongevoelig

Opties

OptieBetekenis
-iHoofdletterongevoelig zoeken
-cAlleen het aantal resultaten tonen
-l nMaximaal n resultaten
-r patroonZoeken met reguliere expressie
-eAlleen bestaande bestanden tonen
--basenameAlleen op bestandsnaam zoeken (niet het pad)

Voorbeelden

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"

updatedb

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.

Tip

Gebruik locate -e zoekterm om te filteren op bestanden die echt bestaan — de database kan bestanden bevatten die al verwijderd zijn.

bestandenzoeken