1 .TH locate 1 "Oct 2020" plocate
3 plocate \- find files by name, quickly
12 finds all files on the system matching the given pattern (or all
13 of the patterns if multiple are given). It does this by means of
15 .BR plocate-build (8),
16 which in turn reads the database made by
19 plocate is largely compatible with
21 and reuses its database to create its index, but is significantly
22 faster. In particular, it rarely needs to scan through its entire
23 database, unless the pattern is very short (less than three bytes)
24 or you want to search for a regular expression. It does not try to
25 maintain compatibility with BSD locate, or non-UTF-8 filenames
26 and locales. Most I/O is done asynchronously, but the results are
27 synchronized so that output comes in the same order every time.
29 When multiple patterns are given,
31 will search for files that match
33 of them. This is the main incompatibility with
35 which searches for files that match one or more patterns, unless
36 the \-a option is given.
38 By default, patterns are taken to be substrings to search for.
39 If at least one non-escaped globbing metacharacter (*, ? or []) is given,
40 that pattern is instead taken to be a glob pattern (which means it needs
41 to start and end in * for a substring match). If
43 is given, patterns are instead taken to be (non-anchored) POSIX basic
44 regular expressions, and if
46 is given, patterns are taken to be POSIX extended regular expressions.
54 shows all files visible to the calling user (by virtue of
55 having read and execute permissions on all parent directories),
56 and none that are not, by means of running with the setgid
57 bit set to access the index (which is built as root), but by
58 testing visibility as the calling user.
62 \fB\-b\fR, \fB\-\-basename\fR
63 Match only against the file name portion of the path name,
64 ie., the directory names will be excluded from the match
65 (but still printed). This does not speed up the search,
66 but can suppress uninteresting matches.
69 \fB\-c\fR, \fB\-\-count\fR
70 Do not print each match. Instead, count them, and print out a total
74 \fB\-d\fR, \fB\-\-database\fR \fIDBPATH\fR
75 Find matches in the given database, instead of \fB/var/lib/plocate/plocate.db\fR.
76 This argument can be given multiple times, to search multiple databases.
77 It is also possible to give multiple databases in one argument, separated by
79 (Any character, including : and \\, can be escaped by prepending a \\.)
82 \fB\-e\fR, \fB\-\-existing\fR
83 Print only entries that refer to files existing at the time
85 is run. Note that unlike
87 symlinks are not followed by default (and indeed, there is no option
91 \fB\-i\fR, \fB\-\-ignore\-case\fR
92 Do a case-insensitive match as given by the current locale
93 (default is case-sensitive, byte-by-byte match). Note that
95 does not support the full range of Unicode case folding rules;
96 in particular, searching for \fIß\fR will not give you matches on \fIss\fR
97 even in a German locale. Also note that this option will be
98 somewhat slower than a case-sensitive match, since it needs to
99 generate more candidates for searching the index.
102 \fB\-l\fR, \fB\-\-limit\fR \fILIMIT\fR
105 matches have been found. If
107 is given, the number printed out will be at most \fILIMIT\fR.
110 \fB\-0\fR, \fB\-\-null\fR
111 Instead of writing a newline after every match, write a NUL
112 (ASCII 0). This is useful for creating unambiguous output
113 when it is to be processed by other tools (like \fBxargs\fP(1)), as filenames are
114 allowed to contain embedded newlines.
117 \fB\-r\fR, \fB\-\-regexp\fR
118 Patterns are taken to be POSIX basic regular expressions.
121 for more information. Note that this forces a linear scan
122 through the entire database, which is slow.
126 Like \fB\-\-regexp\fR, but patterns are instead taken to
132 \fB\-w\fR, \fB\-\-wholename\fR
133 Match against the entire path name. This is the default,
134 so unless \fB-b\fR is given first (see above), it will not do
135 anything. This option thus exists only as compatibility with
140 Print out usage information, then exit successfully.
144 Print out version information, then exit successfully.
150 If given, appended after the list of \fB\-\-database\fR paths
151 (whether an explicit is given or the default is used).
152 Colon-delimiting and character escaping follows the same rules
153 as for \fB\-\-database\fR.
156 Steinar H. Gunderson <steinar+plocate@gunderson.no>
159 \fBplocate-build\fP(8),