Qualifyt remarks about POSIX compliance.
[findutils.git] / README
blobf7b36bb961993241b89c3fc9f0c61b44d541f53b
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 "-exec ....+" action - the ordinary "-exec" action
4 without the "+" is supported).  They also support some 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 Special configure options:
13 --with-afs
14   Make find support "-fstype afs".  Requires /afs, /usr/afsws/lib, and
15 /usr/afsws/include.  configure doesn't add AFS support
16 automatically because it adds considerably to find's size, and the
17 AFS libraries need -lucb on Solaris, which breaks find.
19 --enable-id-cache
20   Make tables of used UIDs and GIDs at startup instead of using
21 getpwuid or getgrgid when needed.  Speeds up -nouser and -nogroup
22 unless you are running NIS or Hesiod, which make password and group
23 calls very expensive.
25 To gain speed, GNU find avoids statting files whenever possible.
26 It does this by:
27 1. Checking the number of links to directories and not statting files
28 that it knows aren't directories until it encounters a test or action
29 that needs the stat info.
30 2.  Rearranging the command line, where possible, so that it can do tests
31 that don't require a stat before tests that do, in hopes that the
32 latter will be skipped because of an OR or AND.  (But it only does
33 this where it will leave the output unchanged.)
35 The locate program and its helper programs are derived (heavily
36 modified) from James Woods' public domain fast-find code, which is
37 also distributed with the 4.3BSD find.  Because POSIX.2 requires `find
38 foo' to have the same effect as `find foo -print', the fast-find
39 searching has been moved to a separate program, `locate'; the same
40 thing has been done in 4.4BSD.  If you use locate, you should run the
41 included `updatedb' script from cron periodically (typically nightly).
43 The `Makefile.am' files are used by an experimental program called
44 AutoMake that is under development.  It's not ready for general use
45 yet, so don't worry about them.
47 Mail suggestions and bug reports for these programs to
48 bug-findutils@gnu.org.