irix - find (1)
NAME
find - find files
SYNOPSIS
find path-name-list [ expression ]
DESCRIPTION
find recursively descends the directory hierarchy for each pathname in
the path-name-list (that is, one or more pathnames) seeking files that
match a boolean expression written in the primaries given below. If the
expression does not contain at least one of -print, -ok, or -exec,
including the case of a null expression, a -print is implicit. 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. Valid
expressions are:
-name file True if file matches the current filename. Normal shell
argument syntax can be used if escaped (watch out for [,
?, and *).
-perm [-]mode True if the file permission flags exactly match the file
mode given by mode which can be an octal number or a
symbolic expression of the form used in chmod(1)). If
mode is prefixed by a minus sign, only the bits that are
set in mode are compared with the file permission flags,
and the expression evaluates true if they match.
-type c True if the type of the file is c, where c is b, c, d,
l, p, f, or s for block special file, character special
file, directory, symbolic link, fifo (a.k.a named pipe),
plain file, or socket respectively.
-links n True if the file has n links.
-user uname True if the file belongs to the user uname. If uname is
numeric and does not appear as a login name in the
/etc/passwd file, it is taken as a user ID.
-nouser True if the file belongs to a user not in the
/etc/passwd file.
-group gname True if the file belongs to the group gname. If gname
is numeric and does not appear in the /etc/group file,
it is taken as a group ID.
-nogroup True if the file belongs to a group not in the
/etc/group file.
-size n[c] True if the file is n blocks long (512 bytes per block).
If n is followed by a c, the size is in characters.
-inum n True if n is the inode number of the file.
-atime [+-]n True if the file was accessed n days ago. The
definition of n days ago is any time within the interval
beginning exactly n*24 hours ago and ending exactly
(n-1)*24 hours ago. The + and - prefixes signify more
or less than n days ago, respectively, thus +n means
more than n*24 hours ago, and -n means less than n*24
hours ago. (See stat(2) for a description of which file
operations change the access time of a file.) The
access time of directories in path-name-list is changed
by find itself.
-mtime [+-]n True if the file was modified n days ago. See -atime
for definition of "n days ago". (See stat(2) for a
description of which file operations change the
modification time of a file.)
-ctime [+-]n True if the file was changed n days ago. See -atime for
definition of "n days ago". (See stat(2) for a
description of which file operations change the change
time of a file.)
-exec cmd True if the executed cmd returns a zero value as exit
status. The end of cmd must be punctuated by an escaped
semicolon. A command argument {} is replaced by the
current pathname.
-ok cmd Like -exec except that the generated command line is
printed with a question mark first, and is executed only
if the user responds by typing y.
-print Always true; causes the current pathname to be printed.
-cpio device Always true; write the current file on device in cpio(1)
format (5120-byte records). find -cpio issues a warning
if it encounters a file larger than two gigabytes.
cpio(1) must be used to archive files of this size.
-newer file True if the current file has been modified more recently
than the argument file (see stat(2) for a description of
which file operations change the modification time of a
file).
-anewer file True if current file has been accessed more recently
than the argument file (see stat(2) for a description of
which file operations change the access time of a file).
-cnewer file True if current file has been changed more recently than
the argument file (see stat(2) for a description of
which file operations change the change time of a file).
-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. This can be useful when
find is used with cpio(1) to transfer files that are
contained in directories without write permission.
-prune Always true; do not examine any directories or files in
the directory structure below the pattern just matched.
If the current pathname is a directory, find does not
descend into that directory, provided -depth is not also
used.
-mount Always true; restricts the search to the filesystem
containing the current element of the path-name-list.
-fstype type True if the filesystem to which the file belongs is of
type type.
-local True if the file physically resides on the local system;
causes the search not to descend into remotely mounted
filesystems.
-follow Always true; causes the underlying file of a symbolic
link to be checked rather than the symbolic link itself.
\( expression \) True if the parenthesized expression is true
(parentheses are special to the shell and must be
escaped).
The primaries can be combined using the following operators (in order of
decreasing precedence):
o The negation of a primary (! is the unary not operator).
o Concatenation of primaries (the and operation is implied by the
juxtaposition of two primaries).
o 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 display all character special devices on the root filesystem except
those under any dev directory:
find / -mount \( -type d -name dev -prune \) -o -type c -print
FILES
/etc/passwd UID information supplier
/etc/group GID information supplier
SEE ALSO
chmod(1), cpio(1), sh(1), test(1), stat(2), umask(2), efs(4), xfs(4).
BUGS
find / -depth always fails with the message:
find: stat failed: : No such file or directory
find relies on a completely correct directory hierarchy for its search.
In particular, if a directory's '..' is missing or incorrect, find fails
at that point and issue some number of these messages:
stat failed:
-depth and -prune do not work together well.