FIND(I) 5/15/74 FIND(I) NAME find - find files SYNOPSIS find pathname expression DESCRIPTION Find recursively descends the directory hierarchy from path- name seeking files that match a boolean expression written in the primaries given below. In the descriptions, the ar- gument 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 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(I)). If onum is prefixed by a minus sign, more flag bits (017777, see stat(II)) become sig- nificant 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 or f for block special file, character special file, directory or plain file. -links n True if the file has n links. -user uname True if the file belongs to the user uname. -group gname As it is for -user so shall it be for -group (someday). -size n True if the file is n blocks long (512 bytes per block). -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 exit status zero (most commands do). The end of the command is punctuated by an escaped semicolon. A command argument `{}' is re- placed by the current pathname. -ok command Like -exec except that the generated command line is printed with a question mark first, and is executed only if the user responds y. - 1 - FIND(I) 5/15/74 FIND(I) -print Always true; causes the current pathname to be printed. The primaries may be combined with these operators (ordered by precedence): ! prefix not -a infix and, second operand evaluated only if first is true -o infix or, second operand evaluated only if first is false ( expression ) parentheses for grouping. (Must be es- caped.) To remove files named `a.out' and `*.o' not accessed for a week: find / "(" -name a.out -o -name "*.o" ")" -a -atime +7 -a -exec rm {} ";" FILES /etc/passwd SEE ALSO sh(I), if(I), file system(V) BUGS There is no way to check device type. Syntax should be reconciled with if. - 2 -