FIND(1)             UNIX Programmer's Manual		  FIND(1)


NAME
     find - find files

SYNOPSIS
     find pathname-list expression
     find pattern

DESCRIPTION
     In the first form above, find recursively descends the
     directory hierarchy for each pathname in the pathname-list
     (i.e., one or more pathnames) seeking files that match a
     boolean expression written in the primaries given below.  In
     the descriptions, the argument n is used as a decimal
     integer where +n means more than n, -n means less than n and
     n means exactly n.

     The second form rapidly searches a database for all path-
     names which match pattern.  Usually the database is recom-
     puted weekly and contains the pathnames of all files which
     are publicly accessible.  If escaped, normal shell "glob-
     bing" characters (`*', `?', `[', and ']') may be used in
     pattern, but the matching differs in that no characters
     (e.g. `/') have to be matched explicitly.	As a special
     case, a simple pattern containing no globbing characters is
     matched as though it were *pattern*; if any globbing charac-
     ter appears there are no implicit globbing characters.

     -name filename
	       True if the filename argument matches the current
	       file name.  Normal shell argument syntax may be
	       used if escaped (watch out for `[', `?' and `*').

     -perm onum
	       True if the file permission flags exactly match
	       the octal number onum (see chmod(1)).  If onum is
	       prefixed by a minus sign, more flag bits (017777,
	       see stat(2)) become significant and the flags are
	       compared: (flags&onum)==onum.

     -type c   True if the type of the file is c, where c is b,
	       c, d, f, l or s for block special file, character
	       special file, directory, plain file, symbolic
	       link, or socket.

     -links n  True if the file has n links.

     -user uname
	       True if the file belongs to the user uname (login
	       name or numeric user ID).

     -nouser   True if the file belongs to a user not in the
	       /etc/passwd database.


Printed 11/26/99	October 11, 1996			1


FIND(1)             UNIX Programmer's Manual		  FIND(1)


     -group gname
	       True if the file belongs to group gname (group
	       name or numeric group ID).

     -nogroup  True if the file belongs to a group not in the
	       /etc/group database.

     -size n   True if the file is n blocks long (512 bytes per
	       block).

     -inum n   True if the file has inode number n.

     -atime n  True if the file has been accessed in n days.

     -mtime n  True if the file has been modified in n days.

     -exec command
	       True if the executed command returns a zero value
	       as exit status.	The end of the command must be
	       punctuated by an escaped semicolon.  A command
	       argument `{}' is replaced by the current pathname.

     -ok command
	       Like -exec except that the generated command is
	       written on the standard output, then the standard
	       input is read and the command executed only upon
	       response y.

     -print    Always true; causes the current pathname to be
	       printed.

     -ls       Always true; causes current pathname to be printed
	       together with its associated statistics.  These
	       include (respectively) inode number, size in kilo-
	       bytes (1024 bytes), protection mode, number of
	       hard links, user, group, size in bytes, and modif-
	       ication time.  If the file is a special file the
	       size field will instead contain the major and
	       minor device numbers.  If the file is a symbolic
	       link the pathname of the linked-to file is printed
	       preceded by ``->''.  The format is identical to
	       that of ``ls -gilds'' (note however that format-
	       ting is done internally, without executing the ls
	       program).

     -newer file
	       True if the current file has been modified more
	       recently than the argument file.

     -cpio file
	       Write the current file on the argument file in
	       cpio format.


Printed 11/26/99	October 11, 1996			2


FIND(1)             UNIX Programmer's Manual		  FIND(1)


     -xdev     Always true; causes find not to traverse down into
	       a file system different from the one on which
	       current argument pathname resides.

     The primaries may be combined using the following operators
     (in order of decreasing precedence):

     1)  A parenthesized group of primaries and operators
	 (parentheses are special to the Shell and must be
	 escaped).

     2)  The negation of a primary (`!' is the unary not opera-
	 tor).

     3)  Concatenation of primaries (the and operation is implied
	 by the juxtaposition of two primaries).

     4)  Alternation of primaries (`-o' is the or operator).

EXAMPLES
     To find all accessible files whose pathname contains `find':

	  find find

     To typeset all variants of manual pages for `ls':

	  vtroff -man `find '*man*/ls.?'`

     To remove all files named `a.out' or `*.o' that have not
     been accessed for a week:

       find / \( -name a.out -o -name '*.o' \) -atime +7 -exec rm
       {} \;

FILES
     /etc/passwd
     /etc/group
     /var/db/find.codes     coded pathnames database

SEE ALSO
     sh(1), test(1), fs(5)
     Relevant paper in February, 1983 issue of ;login:.

BUGS
     The first form's syntax is painful, and the second form's
     exact semantics is confusing and can vary from site to site.

     More than one `-newer' option does not work properly.


Printed 11/26/99	October 11, 1996			3


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1511
Valid CSS Valid XHTML 1.0 Strict