Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
locate(1)		    General Commands Manual		     locate(1)

NAME
       plocate - find files by name, quickly

SYNOPSIS
       plocate [OPTION]...  PATTERN...

DESCRIPTION
       plocate	finds  all  files on the system	matching the given pattern (or
       all of the patterns if multiple are given). It does this	by means of an
       index made by updatedb(8) or (less commonly) converted from another in-
       dex by plocate-build(8).

       plocate is largely argument-compatible with mlocate(1), but is signifi-
       cantly faster. In particular, it	rarely needs to	scan through  its  en-
       tire database, unless the pattern is very short (less than three	bytes)
       or  you	want  to  search  for a	regular	expression. It does not	try to
       maintain	compatibility with BSD locate, or non-UTF-8 filenames and  lo-
       cales.  Most  I/O  is done asynchronously, but the results are synchro-
       nized so	that output comes in the same order every time.

       When multiple patterns are given, plocate will search  for  files  that
       match  all  of  them. This is the main incompatibility with mlocate(1),
       which searches for files	that match one or more patterns, unless	the -A
       option is given.

       By default, patterns are	taken to be substrings to search for.	If  at
       least  one  non-escaped	globbing  metacharacter	(*, ? or []) is	given,
       that pattern is instead taken to	be a  glob  pattern  (which  means  it
       needs  to  start	 and  end  in *	for a substring	match).	If --regexp is
       given, patterns are instead taken to be (non-anchored) POSIX basic reg-
       ular expressions, and if	--regex	is given, patterns  are	 taken	to  be
       POSIX extended regular expressions.  All	of this	matches	mlocate(1) be-
       havior.

       Like  mlocate(1),  plocate  shows all files visible to the calling user
       (by virtue of having read and execute permissions on all	parent	direc-
       tories),	and none that are not, by means	of running with	the setgid bit
       set  to access the index	(which is built	as root), but by testing visi-
       bility as the calling user.

EXIT STATUS
       plocate exits with 0 to indicate	that a match was found or that	--help
       or  --version were passed. Otherwise, plocate exits with	status code 1,
       indicating that an error	occurred or that no matches were found.

OPTIONS
       -A, --all
	      Ignored for compatibility	with mlocate(1).

       -b, --basename
	      Match only against the file name portion of the path name,  ie.,
	      the  directory  names will be excluded from the match (but still
	      printed).	This does not speed up the search,  but	 can  suppress
	      uninteresting matches.

       -c, --count
	      Do  not  print  each match. Instead, count them, and print out a
	      total number at the end.

       -d, --database DBPATH
	      Find matches in the given	 database,  instead  of	 /var/lib/plo-
	      cate/plocate.db.	 This argument can be given multiple times, to
	      search multiple databases.  It is	also possible to give multiple
	      databases	in one argument, separated by :.  (Any character,  in-
	      cluding :	and \, can be escaped by prepending a \.)

       -e, --existing
	      Print  only entries that refer to	files existing at the time lo-
	      cate is run. Note	that unlike mlocate(1),	symlinks are not  fol-
	      lowed  by	 default  (and	indeed,	 there	is no option to	change
	      this).

       -i, --ignore-case
	      Do a case-insensitive match as given by the current locale  (de-
	      fault  is	case-sensitive,	byte-by-byte match). Note that plocate
	      does not support the full	range of Unicode case  folding	rules;
	      in  particular,  searching  for  will not	give you matches on ss
	      even in a	German locale. Also note  that	this  option  will  be
	      somewhat	slower	than a case-sensitive match, since it needs to
	      generate more candidates for searching the index.

       -l, --limit LIMIT
	      Stop searching after LIMIT matches have been found.  If  --count
	      is given,	the number printed out will be at most LIMIT.

       -N, --literal
	      Print entry names	without	quoting. Normally, plocate will	escape
	      special  characters in filenames,	so that	they are safe for con-
	      sumption	by  typical  shells  (similar  to  the	GNU  coreutils
	      shell-escape-always  quoting  style), unless printing to a pipe,
	      but this options will turn off such quoting.

       -0, --null
	      Instead of writing a newline after  every	 match,	 write	a  NUL
	      (ASCII  0).  This	is useful for creating unambiguous output when
	      it is to be processed by other tools (like xargs(1)),  as	 file-
	      names are	allowed	to contain embedded newlines.

       -r, --regexp
	      Patterns	are  taken to be POSIX basic regular expressions.  See
	      regex(7) for more	information. Note that this  forces  a	linear
	      scan through the entire database,	which is slow.

       --regex
	      Like  --regexp,  but  patterns are instead taken to be POSIX ex-
	      tended regular expressions.

       -w, --wholename
	      Match against the	entire path name. This is the default, so  un-
	      less  -b	is  given  first (see above), it will not do anything.
	      This option thus exists only as compatibility with mlocate(1).

       --help Print out	usage information, then	exit successfully.

       --version
	      Print out	version	information, then exit successfully.

ENVIRONMENT
       LOCATE_PATH
	      If given,	appended after the list	of --database  paths  (whether
	      an  explicit is given or the default is used).  Colon-delimiting
	      and character escaping follows the same rules as for --database.

AUTHOR
       Steinar H. Gunderson <steinar+plocate@gunderson.no>

SEE ALSO
       plocate-build(8), mlocate(1), updatedb(8)

plocate				   Oct 2020			     locate(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=plocate&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help