locate - ArchWiki

Jump to content
From ArchWiki

Related articles

- find
- Core utilities
- List of applications/Utilities#File searching

This article or section needs expansion.

Reason: Cover plocate and potentially other alternatives. (Discuss in Talk:Locate)

`locate` is a common Unix tool for quickly finding files by name. It offers speed improvements over the find tool by searching a pre-constructed database file, rather than the filesystem directly. The downside of this approach is that changes made since the construction of the database file cannot be detected by `locate`. This problem can be minimised by scheduled database updates.

mlocate (Merging Locate) is a more secure version of the locate utility, that only shows files accessible to the user.

plocate (Posting Locate) is a locate based on posting lists, consuming mlocate's database ahead-of-time and making a much faster (and smaller) index out of it.

## Installation

Install the mlocate or plocate package.

While the GNU findutils also include a locate implementation, Arch's findutils package does not.

## Usage

Before locate(1) can be used, the database will need to be created, this is done with the updatedb(8) command, which (as the name suggests) updates the database.

mlocate contains an `updatedb.timer` unit, and plocate contains a `plocate-updatedb.timer` unit. These units invoke a database update each day. mlocate enables its timer upon installation. start it manually if you want to use it before reboot. You can also manually run updatedb as root at any time.

To save time, updatedb can be (and by default is) configured to ignore certain filesystems and paths by editing `/etc/updatedb.conf`. updatedb.conf(5) describes the semantics of this file. It is worth noting that among the paths ignored in the default configuration (`PRUNEPATHS`) are `/media` and `/mnt`, so locate may not discover files on external devices.

## See also

- How locate works and rewrite it in one minute

Category:

- Search

Hidden category:

- Pages or sections flagged with Template:Expansion