find(1)
NAME
find − find files
SYNTAX
find pathname-list expression
DESCRIPTION
The find command recursively descends the directory hierarchy for each pathname in the pathname-list, that is, 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.
−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. For further information, see chmod(1). If onum is prefixed by a minus sign, more flag bits (017777), become significant and the flags are compared (flags&onum)==onum. For further information, see stat(2).
−type c True if the type of the file is c, where c is b, c, d, p or f for block special file, character special file, directory, fifo, or plain file.
−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).
−group gname
True if the file belongs to group gname (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 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 file.
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).
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 {} \;
FILES
/etc/passwd
/etc/group