FIND(1) UNIX Programmer's Manual FIND(1) NAME find - find files SYNTAX find pathname-list expression DESCRIPTION _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. -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, l, q or f for block special file, character special file, directory, symbolic link, quota, or plain file. -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). -group gname True if the file belongs to group _g_n_a_m_e (group name or numeric group ID). -size n True if the file is _n blocks long (1024 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 Printed 8/2/83 1 FIND(1) UNIX Programmer's Manual FIND(1) 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. -newer file True if the current file has been modified more recently than the argument _f_i_l_e. 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). EXAMPLE 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 {} \; To find a file named man.1 and print the absolute pathname: find /usr -name man.1 -exec ls {} \; FILES /etc/passwd /etc/group SEE ALSO sh(1), test(1), filsys(5) BUGS The syntax is painful. Printed 8/2/83 2