[findutils.git] / README
1 This package contains the GNU find, xargs, and locate programs.  find
2 and xargs comply with POSIX 1003.2, as far as I know (with the
3 exception of the "+" modifier for the "-exec" action, which isn't
4 implemented yet).  They also support a large number of additional
5 options, some borrowed from Unix and some unique to GNU.
7 See the file NEWS for a list of major changes in the current release.
9 See the file INSTALL for compilation and installation instructions.
11 To verify the GPG signature of the release, you will need the public
12 key of the findutils maintainer.  You can download this from
13  Alternatively, you could query
14 a PGP keyserver, but you will need to use one that can cope with
15 subkeys containing photos.  Many older key servers cannot do this.  I
16 use  I think that one works.  See also the
17 "Downloading" section of
19 Special configure options:
21 --with-afs
22   Make find support "-fstype afs".  Requires /afs, /usr/afsws/lib, and
23 /usr/afsws/include.  configure doesn't add AFS support
24 automatically because it adds considerably to find's size, and the
25 AFS libraries need -lucb on Solaris, which breaks find.
27 --enable-id-cache
28   Make tables of used UIDs and GIDs at startup instead of using
29 getpwuid or getgrgid when needed.  Speeds up -nouser and -nogroup
30 unless you are running NIS or Hesiod, which make password and group
31 calls very expensive.
33 --enable-debug
34   Produce output on the standard error output indicating what find is
35 doing.  This information includes details about how the command line
36 has been parsed and what files have been stat()ed.  This output is
37 normally interesting only to the maintainer, and so is off by default.
40   If this environment variable is defined to a numeric expression
41 during configure, it determines the default argument size limits used
42 by xargs without -s, and by find, when spawning child processes.
43 Otherwise, the default is set at 128 kibibytes.  If the system cannot
44 support the default limit, the system's limit will be used instead.
47 To gain speed, GNU find avoids statting files whenever possible.
48 It does this by:
49 1. Checking the number of links to directories and not statting files
50 that it knows aren't directories until it encounters a test or action
51 that needs the stat info.
52 2.  Rearranging the command line, where possible, so that it can do tests
53 that don't require a stat before tests that do, in hopes that the
54 latter will be skipped because of an OR or AND.  (But it only does
55 this where it will leave the output unchanged.)
57 The locate program and its helper programs are derived (heavily
58 modified) from James Woods' public domain fast-find code, which is
59 also distributed with the 4.3BSD find.  Because POSIX.2 requires `find
60 foo' to have the same effect as `find foo -print', the fast-find
61 searching has been moved to a separate program, `locate'; the same
62 thing has been done in 4.4BSD.  If you use locate, you should run the
63 included `updatedb' script from cron periodically (typically nightly).
65 Mail suggestions and bug reports for these programs to