FIND(1)                                                                FIND(1)


NAME
       find - find files

SYNOPSIS
       find pathname-list expression
       find pattern

DESCRIPTION
       In  the first form above, find recursively descends the directory hier‐
       archy for each pathname in the pathname-list (i.e., one or  more  path‐
       names)  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  pathnames  which
       match  pattern.  Usually the database is recomputed weekly and contains
       the pathnames of all files which are publicly accessible.  If  escaped,
       normal shell “globbing” 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  *pat
       tern*; if any globbing character 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,  direc‐
                 tory, 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.

       -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  kilobytes  (1024  bytes),  protection
                 mode,  number  of hard links, user, group, size in bytes, and
                 modification time.  If the file is a special  file  the  size
                 field  will  instead  contain the major and minor device num‐
                 bers.  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.

       -xdev     Always true; causes find not to traverse  down  into  a  file
                 system different from the one on which current argument path‐
                 name 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 operator).

       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
       /usr/lib/find/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  seman‐
       tics is confusing and can vary from site to site.

       More than one ‘-newer’ option does not work properly.


7th Edition                      May 11, 1986                          FIND(1)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 690
Valid CSS Valid XHTML 1.0 Strict