Difference between revisions of "Locate"

From ArchWiki
Jump to: navigation, search
(+ko link)
(fix double redirect)
(8 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Command shells]]
#REDIRECT: [[Core utilities#locate]]
{{ic|locate}} is a common Unix tool for quickly finding files by name. It offers speed improvements over the [http://en.wikipedia.org/wiki/Find 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 {{ic|locate}}. This problem is minimised by regular, typically scheduled use of the {{ic|updatedb}} command, which (as the name suggests) updates the database.
Although in other distros {{ic|locate}} and {{ic|updatedb}} are in the {{Pkg|findutils}} package, they are no longer present in Arch's package. To use it, install the {{Pkg|mlocate}} package. mlocate is a newer implementation of the tool, but is used in exactly the same way.
Before {{ic|locate}} can be used, the database will need to be created. To do this, simply run {{ic|updatedb}} as root.
===Keeping the database up-to-date===
When {{ic|mlocate}} is installed, a script is automatically placed in {{ic|/etc/cron.daily}} (so that [[cron]] runs it daily) that will update the database. You can also manually run {{ic|updatedb}} at any time.
To save time, the {{ic|updatedb}} can be (and by default is) configured to ignore certain filesystems and paths by editing {{ic|/etc/updatedb.conf}}. {{ic|man updatedb.conf}} will tell you about the semantics of this file. It is worth noting that among the paths ignored in the default configuration (i.e. those in the "PRUNEPATHS" string) are {{ic|/media}} and {{ic|/mnt}}, so {{ic|locate}} may not discover files on external devices.

Latest revision as of 03:23, 24 August 2015