4.3BSD-UWisc/man/cat1/find.1

Compare this file to the similar file:
Show the results in this format:




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, _f_i_n_d recursively descends the
     directory hierarchy for each pathname in the _p_a_t_h_n_a_m_e-_l_i_s_t
     (i.e., one or more pathnames) seeking files that match a
     boolean _e_x_p_r_e_s_s_i_o_n 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 _p_a_t_t_e_r_n.  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
     _p_a_t_t_e_r_n, but the matching differs in that no characters
     (_e._g. `/') have to be matched explicitly.  As a special
     case, a simple _p_a_t_t_e_r_n containing no globbing characters is
     matched as though it were *_p_a_t_t_e_r_n*; if any globbing charac-
     ter appears there are no implicit globbing characters.

     -name filename
               True if the _f_i_l_e_n_a_m_e 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 _o_n_u_m (see _c_h_m_o_d(1)).  If _o_n_u_m is
               prefixed by a minus sign, more flag bits (017777,
               see _s_t_a_t(2)) become significant and the flags are
               compared: (_f_l_a_g_s&_o_n_u_m)==_o_n_u_m.

     -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 _u_n_a_m_e (login
               name or numeric user ID).

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



Printed 12/27/86          May 11, 1986                          1






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



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

     -nogroup  True if the file belongs to a group _n_o_t 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 _f_i_l_e.

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



Printed 12/27/86          May 11, 1986                          2






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



     -xdev     Always true; causes find _n_o_t to traverse down into
               a file system different from the one on which
               current _a_r_g_u_m_e_n_t 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 _n_o_t opera-
         tor).

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

     4)  Alternation of primaries (`-o' is the _o_r 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 ;_l_o_g_i_n:.

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 12/27/86          May 11, 1986                          3