Quick ?s
Cheat Sheets
Man Pages
The Lynx
LOCATE(1)							     LOCATE(1)

       locate - list files in databases that match a pattern

       locate  [-d  path | --database=path] [-e | -E | --[non-]existing] [-i |
       --ignore-case] [-0 | --null] [-c | --count] [-w |  --wholename]	|-b  |
       --basename]  [-l N | --limit=N] [-S | --statistics] [-r | --regex ] [-P
       | -H | --nofollow] [-L | --follow]  [--version]	[-A  |	--all]	[-p  |
       --print] [--help] pattern...

       This  manual  page documents the GNU version of locate.	For each given
       pattern, locate searches one or more databases of file names  and  dis
       plays  the  file  names that contain the pattern.  Patterns can contain
       shell-style metacharacters: *, ?, and [].  The metacharacters  do
       not  treat  /  or .  specially.	Therefore, a pattern foo*bar can
       match a file name that contains foo3/bar, and a pattern *duck*  can
       match  a  file name that contains lake/.ducky.  Patterns that contain
       metacharacters should be quoted to protect them from expansion  by  the

       If a pattern is a plain string  it contains no metacharacters  locate
       displays all file names in the database that contain that  string  any
       where.	If a pattern does contain metacharacters, locate only displays
       file names that match the pattern exactly.  As a result, patterns  that
       contain	metacharacters	should usually begin with a *, and will most
       often end with one as well.   The  exceptions  are  patterns  that  are
       intended to explicitly match the beginning or end of a file name.

       The  file name databases contain lists of files that were on the system
       when the databases were last updated.   The  system  administrator  can
       choose  the file name of the default database, the frequency with which
       the databases are updated, and the directories for which  they  contain
       entries; see updatedb(1).

       If  locates  output  is going to a terminal, unusual characters in the
       output are escaped in the same way as for the -print action of the find
       command.   If  the  output  is  not going to a terminal, file names are
       printed exactly as-is.

       -A, --all
	      Print only names which match all non-option arguments, not those
	      matching one or more non-option arguments.

       -c, --count
	      Instead  of printing the matched filenames, just print the total
	      number of matches we found, unless --print (-p) is also present.

       -d path, --database=path
	      Instead  of searching the default file name database, search the
	      file name databases in path, which is a colon-separated list  of
	      database	file names.  You can also use the environment variable
	      LOCATE_PATH to set the list of database files  to  search.   The
	      option  overrides  the  environment  variable  if both are used.
	      Empty elements in the path are taken to be synonyms for the file
	      name  of	the  default  database.  A database can be supplied on
	      stdin, using - as an element of path. If more than one element
	      of  path is -, later instances are ignored (and a warning mes
	      sage is printed).

	      The file name database format changed starting with GNU find and
	      locate  version 4.0 to allow machines with different byte order
	      ings to share the databases.  This version of locate  can  auto
	      matically  recognize  and read databases produced for older ver
	      sions of GNU locate or Unix versions of locate or find.  Support
	      for  the	old  locate  database format will be discontinued in a
	      future release.

       -e, --existing
	      Only print out such names that currently exist (instead of  such
	      names  that  existed  when the database was created).  Note that
	      this may slow down the program a lot, if there are many  matches
	      in the database.	If you are using this option within a program,
	      please note that it is possible for the file to be deleted after
	      locate has checked that it exists, but before you use it.

       -E, --non-existing
	      Only  print  out such names that currently do not exist (instead
	      of such names that existed when the database was created).  Note
	      that  this  may  slow  down the program a lot, if there are many
	      matches in the database.

       -L, --follow
	      If testing for the  existence  of  files	(with  the  -e	or  -E
	      options),  consider  broken  symbolic  links to be non-existing.
	      This is the default.

       -P, -H, --nofollow
	      If testing for the  existence  of  files	(with  the  -e	or  -E
	      options),  treat	broken symbolic links as if they were existing
	      files.  The -H form of this option is provided purely for  simi
	      larity with find; the use of -P is recommended over -H.

       -i, --ignore-case
	      Ignore case distinctions in both the pattern and the file names.

       -l N, --limit=N
	      Limit the number of matches to N.  If a limit is	set  via  this
	      option,  the  number  of	results printed for the -c option will
	      never be larger than this number.

       -m, --mmap
	      Accepted but does nothing, for compatibility with BSD locate.

       -0, --null
	      Use ASCII NUL as a separator, instead of newline.

       -p, --print
	      Print search results when they normally would  not,  because  of
	      the presence of --statistics (-S) or --count (-c).

       -w, --wholename
	      Match  against  the  whole  name	of  the  file as listed in the
	      database.  This is the default.

       -b, --basename
	      Results are considered to match if the pattern specified matches
	      the  final  component  of  the  name  of a file as listed in the
	      database.  This final component is usually referred  to  as  the
	      base name.

       -r, --regex
	      The  pattern specified on the command line is understood to be a
	      regular expression, as opposed to a glob pattern.   The  Regular
	      expressions  work  in  the same was as in emacs and find, except
	      for the fact that "." will match	a  newline.   Filenames  whose
	      full  paths  match  the specified regular expression are printed
	      (or, in the case of the -c option, counted).   If  you  wish  to
	      anchor  your  regular  expression  at  the ends of the full path
	      name, then as is usual with regular expressions, you should  use
	      the characters ^ and $ to signify this.

       -s, --stdio
	      Accepted but does nothing, for compatibility with BSD locate.

       -S, --statistics
	      Print  various  statistics  about  each locate database and then
	      exit without performing a search,  unless  non-option  arguments
	      are given.  For compatibility with BSD, -S is accepted as a syn
	      onym for --statistics.  However, the ouptut of locate -S is dif
	      ferent for the GNU and BSD implementations of locate.

       --help Print a summary of the options to locate and exit.

	      Print the version number of locate and exit.

	      Colon-separated list of databases to search.  If the value has a
	      leading or trailing colon, or has two colons in a row,  you  may
	      get results that vary between different versions of locate.

       find(1),  locatedb(5),  updatedb(1),  xargs(1),	glob(3), Finding Files
       (on-line in Info, or printed)

       The locate database correctly handles  filenames  containing  newlines,
       but  only if the systems sort command has a working -z option.  If you
       suspect that locate may need to return filenames  containing  newlines,
       consider using its --null option.

       The  best  way  to  report  a  bug  is to use the form at http://savan
       nah.gnu.org/bugs/?group=findutils.  The reason for  this  is  that  you
       will then be able to track progress in fixing the problem.   Other com
       ments about locate(1) and about the findutils package in general can be
       sent  to  the bug-findutils mailing list.  To join the list, send email
       to bug-findutils-request@gnu.org.


Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:19 2009