FIND(1) FIND(1)
NAME
find - find files
SYNOPSIS
find pathname-list expression
DESCRIPTION
Find recursively descends the directory hierarchy for each
pathname in the pathname-list (i.e., 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 (see chmod(1)). If onum is
prefixed by a minus sign, more flag bits (017777,
see stat(2)) become significant 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, f or L for block special file, character
special file, directory, plain file or symbolic
link.
-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 (512 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.
Page 1 Plan 9 (printed 5/22/12)
FIND(1) FIND(1)
-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 (paren-
theses are special to the Shell and must be escaped).
2) The negation of a primary (`!' is the unary not opera-
tor).
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
SEE ALSO
sh(1), test(1), filsys(5)
BUGS
The syntax is painful.
Page 2 Plan 9 (printed 5/22/12)