]> git.pld-linux.org Git - packages/findutils.git/blame - findutils-info.patch
- unify ftp.gnu.org urls
[packages/findutils.git] / findutils-info.patch
CommitLineData
72db70f1
JB
1--- findutils-4.4.0/doc/find.texi.orig 2008-03-10 21:31:16.000000000 +0100
2+++ findutils-4.4.0/doc/find.texi 2008-03-16 00:00:13.875930612 +0100
3@@ -7,23 +7,16 @@
4 @c %**end of header
5
6 @include version.texi
7-@include ../locate/dblocation.texi
8
9 @iftex
3a694787
JB
10 @finalout
11 @end iftex
6fcd5b1d 12
3a694787 13-@dircategory Basics
ba3aff84 14+@dircategory Shell utilities:
3a694787
JB
15 @direntry
16-* Finding files: (find). Operating on files matching certain criteria.
6a9f8a7c
JB
17-@end direntry
18-
19-@dircategory Individual utilities
20-@direntry
21-* find: (find)Invoking find. Finding and acting on files.
22-* locate: (find)Invoking locate. Finding files in a database.
23-* updatedb: (find)Invoking updatedb. Building the locate database.
24-* xargs: (find)Invoking xargs. Operating on many files.
3a694787 25+* Finding files: (find). Operating on files matching certain criteria
6a9f8a7c
JB
26+* find: (find)find. Finding and acting on files
27+* xargs: (find)xargs. Operating on many files
3a694787 28 @end direntry
6fcd5b1d 29
6a9f8a7c 30 @copying
72db70f1
JB
31@@ -225,9 +218,7 @@
32 @section Overview
33
34 The principal programs used for making lists of files that match given
35-criteria and running commands on them are @code{find}, @code{locate},
36-and @code{xargs}. An additional command, @code{updatedb}, is used by
37-system administrators to create databases for @code{locate} to use.
38+criteria and running commands on them are @code{find} and @code{xargs}.
39
40 @code{find} searches for files in a directory hierarchy and prints
41 information about the files it found. It is run like this:
42@@ -247,23 +238,6 @@
43 Notice that the wildcard must be enclosed in quotes in order to
44 protect it from expansion by the shell.
6a9f8a7c 45
72db70f1
JB
46-@code{locate} searches special file name databases for file names that
47-match patterns. The system administrator runs the @code{updatedb}
48-program to create the databases. @code{locate} is run like this:
49-
50-@example
51-locate @r{[}@var{option}@dots{}@r{]} @var{pattern}@dots{}
52-@end example
6a9f8a7c 53-
72db70f1
JB
54-@noindent
55-This example prints the names of all files in the default file name
56-database whose name ends with @samp{Makefile} or @samp{makefile}.
57-Which file names are stored in the database depends on how the system
58-administrator ran @code{updatedb}.
59-@example
60-locate '*[Mm]akefile'
61-@end example
62-
63 The name @code{xargs}, pronounced EX-args, means ``combine
64 arguments.'' @code{xargs} builds and executes command lines by
65 gathering together arguments it reads on the standard input. Most
66@@ -371,7 +345,6 @@
67 @menu
68 * Base Name Patterns::
69 * Full Name Patterns::
70-* Fast Full Name Search::
71 * Shell Pattern Matching:: Wildcards used by these programs.
72 @end menu
73
74@@ -504,78 +477,6 @@
75
76 @end deffn
6a9f8a7c 77
72db70f1
JB
78-@node Fast Full Name Search
79-@subsection Fast Full Name Search
80-
81-To search for files by name without having to actually scan the
82-directories on the disk (which can be slow), you can use the
83-@code{locate} program. For each shell pattern you give it,
84-@code{locate} searches one or more databases of file names and
85-displays the file names that contain the pattern. @xref{Shell Pattern
86-Matching}, for details about shell patterns.
87-
88-If a pattern is a plain string---it contains no
89-metacharacters---@code{locate} displays all file names in the database
90-that contain that string. If a pattern contains
91-metacharacters, @code{locate} only displays file names that match the
92-pattern exactly. As a result, patterns that contain metacharacters
93-should usually begin with a @samp{*}, and will most often end with one
94-as well. The exceptions are patterns that are intended to explicitly
95-match the beginning or end of a file name.
96-
97-If you only want @code{locate} to match against the last component of
98-the file names (the ``base name'' of the files) you can use the
99-@samp{--basename} option. The opposite behaviour is the default, but
100-can be selected explicitly by using the option @samp{--wholename}.
101-
102-The command
103-@example
104-locate @var{pattern}
105-@end example
106-
107-is almost equivalent to
108-@example
109-find @var{directories} -name @var{pattern}
110-@end example
111-
112-where @var{directories} are the directories for which the file name
113-databases contain information. The differences are that the
114-@code{locate} information might be out of date, and that @code{locate}
115-handles wildcards in the pattern slightly differently than @code{find}
116-(@pxref{Shell Pattern Matching}).
117-
118-The file name databases contain lists of files that were on the system
119-when the databases were last updated. The system administrator can
120-choose the file name of the default database, the frequency with which
121-the databases are updated, and the directories for which they contain
122-entries.
123-
124-Here is how to select which file name databases @code{locate}
125-searches. The default is system-dependent. At the time this document
126-was generated, the default was @file{@value{LOCATE_DB}}.
127-
128-@table @code
129-@item --database=@var{path}
130-@itemx -d @var{path}
131-Instead of searching the default file name database, search the file
132-name databases in @var{path}, which is a colon-separated list of
133-database file names. You can also use the environment variable
134-@code{LOCATE_PATH} to set the list of database files to search. The
135-option overrides the environment variable if both are used.
136-@end table
137-
138-GNU @code{locate} can read file name databases generated by the
139-@code{slocate} package. However, these generally contain a list of
140-all the files on the system, and so when using this database,
141-@code{locate} will produce output only for files which are accessible
142-to you. @xref{Invoking locate}, for a description of the
143-@samp{--existing} option which is used to do this.
144-
145-The @code{updatedb} program can also generate database in a format
146-compatible with @code{slocate}. @xref{Invoking updatedb}, for a
147-description of its @samp{--dbformat} and @samp{--output} options.
148-
149-
150 @node Shell Pattern Matching
151 @subsection Shell Pattern Matching
152
153@@ -2650,42 +2551,11 @@
154 @samp{locate --statistics}.
155
156 @menu
157-* Database Locations::
158 * Database Formats::
159 * Newline Handling::
160 @end menu
161
162
163-@node Database Locations
164-@section Database Locations
165-
166-There can be multiple file name databases. Users can select which
167-databases @code{locate} searches using the @code{LOCATE_PATH}
168-environment variable or a command line option. The system
169-administrator can choose the file name of the default database, the
170-frequency with which the databases are updated, and the directories
171-for which they contain entries. File name databases are updated by
172-running the @code{updatedb} program, typically nightly.
173-
174-In networked environments, it often makes sense to build a database at
175-the root of each filesystem, containing the entries for that
176-filesystem. @code{updatedb} is then run for each filesystem on the
177-fileserver where that filesystem is on a local disk, to prevent
178-thrashing the network.
179-
180-@xref{Invoking updatedb}, for the description of the options to
181-@code{updatedb}. These options can be used to specify which
182-directories are indexed by each database file.
183-
184-The default location for the locate database depends on how findutils
185-is built, but the findutils installation accompanying this manual uses
186-the default location @file{@value{LOCATE_DB}}.
187-
188-If no database exists at @file{@value{LOCATE_DB}} but the user did not
189-specify where to look (by using @samp{-d} or setting
190-@code{LOCATE_PATH}), then @code{locate} will also check for a
191-``secure'' database in @file{/var/lib/slocate/slocate.db}.
192-
6a9f8a7c
JB
193 @node Database Formats
194 @section Database Formats
72db70f1
JB
195
196@@ -2904,15 +2774,13 @@
6a9f8a7c
JB
197 discussed in this manual.
198
199 @menu
200-* Invoking find::
201-* Invoking locate::
202-* Invoking updatedb::
203-* Invoking xargs::
204+* find::
205+* xargs::
206 * Regular Expressions::
5bd4a84c 207 * Environment Variables::
6a9f8a7c
JB
208 @end menu
209
72db70f1
JB
210-@node Invoking find
211+@node find
6a9f8a7c
JB
212 @section Invoking @code{find}
213
214 @example
72db70f1
JB
215@@ -3120,268 +2988,7 @@
216 actions, and options that the expression can contain. If the
217 expression is missing, @samp{-print} is assumed.
6a9f8a7c 218
72db70f1 219-@node Invoking locate
6a9f8a7c
JB
220-@section Invoking @code{locate}
221-
222-@example
223-locate @r{[}@var{option}@dots{}@r{]} @var{pattern}@dots{}
224-@end example
225-
226-For each @var{pattern} given @code{locate} searches one or more file
227-name databases returning each match of @var{pattern}.
228-
229-For each @var{pattern} given @code{locate} searches one or more file
230-name databases returning each match of @var{pattern}.
231-
232-@table @code
233-@item --all
234-@itemx -A
235-Print only names which match all non-option arguments, not those
236-matching one or more non-option arguments.
237-
238-@item --basename
239-@itemx -b
240-The specified pattern is matched against just the last component of
241-the name of a file in the @code{locate} database. This last
242-component is also called the ``base name''. For example, the base
243-name of @file{/tmp/mystuff/foo.old.c} is @file{foo.old.c}. If the
244-pattern contains metacharacters, it must match the base name exactly.
245-If not, it must match part of the base name.
246-
247-@item --count
248-@itemx -c
249-Instead of printing the matched file names, just print the total
250-number of matches found, unless @samp{--print} (@samp{-p}) is also
251-present.
252-
253-
254-@item --database=@var{path}
255-@itemx -d @var{path}
72db70f1
JB
256-Instead of searching the default @code{locate} database
257-@file{@value{LOCATE_DB}}, @code{locate} searches the file
6a9f8a7c
JB
258-name databases in @var{path}, which is a colon-separated list of
259-database file names. You can also use the environment variable
260-@code{LOCATE_PATH} to set the list of database files to search. The
261-option overrides the environment variable if both are used. Empty
262-elements in @var{path} (that is, a leading or trailing colon, or two
263-colons in a row) are taken to stand for the default database.
264-A database can be supplied on stdin, using @samp{-} as an element
265-of @samp{path}. If more than one element of @samp{path} is @samp{-},
266-later instances are ignored (but a warning message is printed).
267-
268-@item --existing
269-@itemx -e
270-Only print out such names which currently exist (instead of such names
271-which existed when the database was created). Note that this may slow
272-down the program a lot, if there are many matches in the database.
273-The way in which broken symbolic links are treated is affected by the
5bd4a84c
JB
274-@samp{-L}, @samp{-P} and @samp{-H} options. Please note that it is
275-possible for the file to be deleted after @code{locate} has checked
72db70f1
JB
276-that it exists, but before you use it. This option is automatically
277-turned on when reading an @code{slocate} database in secure mode
278-(@pxref{slocate Database Format}).
6a9f8a7c
JB
279-
280-@item --non-existing
281-@itemx -E
282-Only print out such names which currently do not exist (instead of
283-such names which existed when the database was created). Note that
284-this may slow down the program a lot, if there are many matches in the
285-database. The way in which broken symbolic links are treated is
5bd4a84c
JB
286-affected by the @samp{-L}, @samp{-P} and @samp{-H} options. Please
287-note that @code{locate} checks that the file does not exist, but a
288-file of the same name might be created after @code{locate}'s check but
289-before you read @code{locate}'s output.
6a9f8a7c
JB
290-
291-@item --follow
292-@itemx -L
293-If testing for the existence of files (with the @samp{-e} or @samp{-E}
294-options), consider broken symbolic links to be non-existing. This is
5bd4a84c 295-the default behaviour.
6a9f8a7c
JB
296-
297-@item --nofollow
298-@itemx -P
299-@itemx -H
300-If testing for the existence of files (with the @samp{-e} or @samp{-E}
301-options), treat broken symbolic links as if they were existing files.
302-The @samp{-H} form of this option is provided purely for similarity
303-with @code{find}; the use of @samp{-P} is recommended over @samp{-H}.
304-
305-@item --ignore-case
306-@itemx -i
307-Ignore case distinctions in both the pattern and the file names.
308-
309-@item --limit=N
310-@itemx -l N
311-Limit the number of results printed to N. When used with the
312-@samp{--count} option, the value printed will never be larger than
313-this limit.
72db70f1
JB
314-@item --max-database-age=D
315-Normally, @code{locate} will issue a warning message when it searches
316-a database which is more than 8 days old. This option changes that
317-value to something other than 8. The effect of specifying a negative
318-value is undefined.
6a9f8a7c
JB
319-@item --mmap
320-@itemx -m
321-Accepted but does nothing. The option is supported only to provide
322-compatibility with BSD's @code{locate}.
323-
324-@item --null
325-@itemx -0
326-Results are separated with the ASCII NUL character rather than the
72db70f1 327-newline character. To get the full benefit of this option,
6a9f8a7c
JB
328-use the new @code{locate} database format (that is the default
329-anyway).
330-
331-@item --print
332-@itemx -p
72db70f1
JB
333-Print search results when they normally would not be due to
334-use of @samp{--statistics} (@samp{-S}) or @samp{--count}
6a9f8a7c
JB
335-(@samp{-c}).
336-
337-@item --wholename
338-@itemx -w
339-The specified pattern is matched against the whole name of the file in
340-the @code{locate} database. If the pattern contains metacharacters,
341-it must match exactly. If not, it must match part of the whole file
342-name. This is the default behaviour.
343-
344-@item --regex
345-@itemx -r
346-Instead of using substring or shell glob matching, the pattern
347-specified on the command line is understood to be a regular
348-expression. GNU Emacs-style regular expressions are assumed unless
349-the @samp{--regextype} option is also given. File names from the
350-@code{locate} database are matched using the specified regular
351-expression. If the @samp{-i} flag is also given, matching is
352-case-insensitive. Matches are performed against the whole path name,
353-and so by default a pathname will be matched if any part of it matches
354-the specified regular expression. The regular expression may use
355-@samp{^} or @samp{$} to anchor a match at the beginning or end of a
356-pathname.
357-
358-@item --regextype
6a9f8a7c
JB
359-This option changes the regular expression syntax and behaviour used
360-by the @samp{--regex} option. @ref{Regular Expressions} for more
361-information on the regular expression dialects understood by GNU
362-findutils.
363-
364-@item --stdio
365-@itemx -s
366-Accepted but does nothing. The option is supported only to provide
367-compatibility with BSD's @code{locate}.
368-
369-@item --statistics
370-@itemx -S
371-Print some summary information for each @code{locate} database. No
72db70f1
JB
372-search is performed unless non-option arguments are given.
373-Although the BSD version of locate also has this option, the format of the
69b40b10 374-output is different.
6a9f8a7c
JB
375-
376-@item --help
377-Print a summary of the command line usage for @code{locate} and exit.
378-
379-@item --version
380-Print the version number of @code{locate} and exit.
381-@end table
382-
72db70f1 383-@node Invoking updatedb
6a9f8a7c
JB
384-@section Invoking @code{updatedb}
385-
386-@example
387-updatedb @r{[}@var{option}@dots{}@r{]}
388-@end example
389-
390-@code{updatedb} creates and updates the database of file names used by
391-@code{locate}. @code{updatedb} generates a list of files similar to
392-the output of @code{find} and then uses utilities for optimizing the
393-database for performance. @code{updatedb} is often run periodically
394-as a @code{cron} job and configured with environment variables or
395-command options. Typically, operating systems have a shell script
396-that ``exports'' configurations for variable definitions and uses
c980cf18 397-another shell script that ``sources'' the configuration file into the
6a9f8a7c
JB
398-environment and then executes @code{updatedb} in the environment.
399-
400-@code{updatedb} creates and updates the database of file names used by
401-@code{locate}. @code{updatedb} generates a list of files similar to
402-the output of @code{find} and then uses utilities for optimizing the
403-database for performance. @code{updatedb} is often run periodically
404-as a @code{cron} job and configured with environment variables or
405-command options. Typically, operating systems have a shell script
406-that ``exports'' configurations for variable definitions and uses
c980cf18 407-another shell script that ``sources'' the configuration file into the
6a9f8a7c
JB
408-environment and then executes @code{updatedb} in the environment.
409-
410-@table @code
411-@item --findoptions='@var{OPTION}@dots{}'
412-Global options to pass on to @code{find}.
413-The environment variable @code{FINDOPTIONS} also sets this value.
414-Default is none.
415-
416-@item --localpaths='@var{path}@dots{}'
417-Non-network directories to put in the database.
418-Default is @file{/}.
419-
420-@item --netpaths='@var{path}@dots{}'
421-Network (NFS, AFS, RFS, etc.) directories to put in the database.
422-The environment variable @code{NETPATHS} also sets this value.
423-Default is none.
424-
425-@item --prunepaths='@var{path}@dots{}'
426-Directories to omit from the database, which would otherwise be
427-included. The environment variable @code{PRUNEPATHS} also sets this
428-value. Default is @file{/tmp /usr/tmp /var/tmp /afs}. The paths are
429-used as regular expressions (with @code{find ... -regex}, so you need
430-to specify these paths in the same way that @code{find} will encounter
431-them. This means for example that the paths must not include trailing
432-slashes.
433-
434-@item --prunefs='@var{path}@dots{}'
435-Filesystems to omit from the database, which would otherwise be
436-included. Note that files are pruned when a filesystem is reached;
437-Any filesystem mounted under an undesired filesystem will be ignored.
438-The environment variable @code{PRUNEFS} also sets this value. Default
439-is @file{nfs NFS proc}.
440-
441-@item --output=@var{dbfile}
72db70f1
JB
442-The database file to build. The default is system-dependent, but
443-when this document was formatted it was @file{@value{LOCATE_DB}}.
6a9f8a7c
JB
444-
445-@item --localuser=@var{user}
446-The user to search the non-network directories as, using @code{su}.
447-Default is to search the non-network directories as the current user.
448-You can also use the environment variable @code{LOCALUSER} to set this user.
449-
450-@item --netuser=@var{user}
451-The user to search network directories as, using @code{su}. Default
452-@code{user} is @code{daemon}. You can also use the environment variable
453-@code{NETUSER} to set this user.
454-
455-@item --old-format
456-Generate a @code{locate} database in the old format, for compatibility
457-with versions of @code{locate} other than GNU @code{locate}. Using
458-this option means that @code{locate} will not be able to properly
459-handle non-ASCII characters in file names (that is, file names
460-containing characters which have the eighth bit set, such as many of
72db70f1
JB
461-the characters from the ISO-8859-1 character set). @xref{Database
462-Formats}, for a detailed description of the supported database
463-formats.
464-
465-@item --dbformat=@var{FORMAT}
466-Generate the locate database in format @code{FORMAT}. Supported
467-database formats include @code{LOCATE02} (which is the default),
468-@code{old} and @code{slocate}. The @code{old} format exists for
469-compatibility with implementations of @code{locate} on other Unix
470-systems. The @code{slocate} format exists for compatibility with
471-@code{slocate}. @xref{Database Formats}, for a detailed description
472-of each format.
473-
6a9f8a7c
JB
474-@item --help
475-Print a summary of the command line usage and exit.
476-@item --version
477-Print the version number of @code{updatedb} and exit.
478-@end table
479-
72db70f1
JB
480-@node Invoking xargs
481+@node xargs
6a9f8a7c
JB
482 @section Invoking @code{xargs}
483
484 @example
72db70f1
JB
485@@ -5091,8 +4698,6 @@
486 @menu
487 * Error Messages From find::
488 * Error Messages From xargs::
489-* Error Messages From locate::
490-* Error Messages From updatedb::
491 @end menu
6a9f8a7c 492
72db70f1
JB
493 @node Error Messages From find
494@@ -5223,38 +4828,6 @@
495 See the description of the similar message for @code{find}.
496 @end table
6a9f8a7c 497
72db70f1
JB
498-@node Error Messages From locate
499-@section Error Messages From @code{locate}
500-
501-@table @samp
502-@item warning: database @file{@value{LOCATE_DB}} is more than 8 days old
503-The @code{locate} program relies on a database which is periodically
504-built by the @code{updatedb} program. That hasn't happened in a long
505-time. To fix this problem, run @code{updatedb} manually. This can
506-often happen on systems that are generally not left on, so the
507-periodic ``cron'' task which normally does this doesn't get a chance
508-to run.
509-
510-@item locate database @file{@value{LOCATE_DB}} is corrupt or invalid
511-This should not happen. Re-run @code{updatedb}. If that works, but
512-@code{locate} still produces this error, run @code{locate --version}
513-and @code{updatedb --version}. These should produce the same output.
514-If not, you are using a mixed toolset; check your @samp{$PATH}
515-environment variable and your shell aliases (if you have any). If
516-both programs claim to be GNU versions, this is a bug; all versions of
517-these programs should interoperate without problem. Ask for help on
518-@email{bug-findutils@@gnu.org}.
519-@end table
520-
521-
522-@node Error Messages From updatedb
523-@section Error Messages From updatedb
524-
525-The @code{updatedb} program (and the programs it invokes) do issue
526-error messages, but none seem to be candidates for guidance. If
527-you are having a problem understanding one of these, ask for help on
528-@email{bug-findutils@@gnu.org}.
529-
530 @node GNU Free Documentation License
531 @appendix GNU Free Documentation License
532 @include fdl.texi
This page took 0.148953 seconds and 4 git commands to generate.