locate
Overview
locate finds files by name using a prebuilt database (mlocate/plocate). Much faster than find for simple name queries, but results can be stale until the DB updates.
Syntax
locate [options] pattern...On Ubuntu today, locate is often provided by plocate.
Common Options
| Option | Description |
|---|---|
-i |
Case-insensitive |
-l N / -n N |
Limit results |
-b |
Match basename only |
-r |
Regex |
-c |
Count |
-e |
Only existing paths (still present) |
-0 |
NUL delimit |
-d DB |
Alternate database |
Database updates
sudo updatedb # mlocate-style
sudo systemctl start plocate-updatedb.service # plocateDaily cron/timer usually refreshes automatically.
Examples with Explanations
Basic
locate sshd_config
locate -i readme
locate -b '\.bashrc'Limit / count
locate -l 20 nginx
locate -c '*.png'Regex
locate -r '/etc/.*\.conf$'Existence filter
locate -e mydeletedfileNotes & Pitfalls
- Private files may be excluded from the DB depending on config/permissions.
- Just-created files are invisible until
updatedb.
- Use
findfor size/time/permission predicates.