find(1)find(1)Namefind - find files
Syntaxfind pathname-list expression
Description
The command recursively descends the directory hierarchy for each path‐
name 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 inte‐
ger where +n means more than n, -n means less than n , and n means
exactly n.
Options-atime n Tests true if the file has been accessed in n days.
-cpio output Writes current file on output in the format (5120-byte
records) specified in the reference page. The output
can be either a file or tape device. If output is a
tape device the B key must be used to read data from the
tape.
-ctime n Tests true if the file has been changed in n days.
-depth Always true; causes descent of the directory hierarchy
to be done so that all entries in a directory are acted
on before the directory itself (that is, postorder
instead of preorder). This can be useful when is used
with to transfer files that are contained in directories
without write permission.
-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 gname Tests true if group ID matches specified group name.
-inum n Tests true if the file has inode number n.
-links n Tests true if the file has n links.
-mount Tests true if the current file is on the same file sys‐
tem as the current starting pathname.
-mtime n Tests 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 file Tests true if the current file has been modified more
recently than the argument file.
-ok command Executes specified command on standard output, then
standard input is read and command executed only upon
response y.
-perm onum Tests true if file has specified octal number. For fur‐
ther information, see 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
-print Prints current pathname.
-size n Tests true if the file is n blocks long (512 bytes per
block).
-type c Tests 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 uname Tests 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).
Examples
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
FilesSee Alsocpio(1), sh(1), test(1), cpio(5), fs(5)find(1)