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.
OPTIONS
−atime nTests true if the file has been accessed in n days.
−cpio outputWrites current file on output in the format (5120-byte records) specified in the cpio() reference page. The output can be either a file or tape device. If output is a tape device the cpio() B key must be used to read data from the tape.
−exec command
Tests true if specified command returns a 0 on exit. The end of the command must be punctuated by an escaped semicolon. A command argument ‘{}’ is replaced by the current pathname.
−group gnameTests true if group ID matches specified group name.
−inum nTests true if the file has inode number n.
−links nTests true if the file has n links.
−mountTests true if the current file is on the same file system as the current starting pathname.
−mtime nTests true if the file has been modified in n days.
−name filename
Tests true if the filename argument matches the current file name. Normal Shell argument syntax may be used if escaped (watch out for ‘[’, ‘?’ and ‘*’).
−newer fileTests true if the current file has been modified more recently than the argument file.
−ok commandExecutes specified command on standard output, then standard input is read and command executed only upon response y.
−perm onumTests true if file has specified octal number. For further information, see chmod(.). 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(.).
−printPrints current pathname.
−size nTests true if the file is n blocks long (512 bytes per block).
−type cTests true if file is c type ( c = b, block special file: c, character special file: d, directory: f, plain file: l, symbolic link: p, type port: s, type socket).
−user unameTests true if file owner is login name or numeric user ID.
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 {} \;
To find all files on the root file system type:
find / -mount -print
To write all the files on the root file system to tape:
find / -mount -print -cpio /dev/rmt?h
cpio -iBvt < /dev/rmt?h
To find all the mount points on the root file system type:
find / ! -mount -print
FILES
/etc/passwd
/etc/group
SEE ALSO
cpio(1), cpio(5), sh(1), test(1), fs(5)
Commands