NAME
find - find files meeting a given condition
SYNOPSIS
find directory expression
EXAMPLES
find / -name a.out -print
# Print all a.out paths
find /usr/ast ! -newer f -ok rm {} \;
# Ask before removing
find /usr -size +20 -exec mv {} /big \^;
# move files > 10k
find / \( -name a.out -o -name '*.o' \) -exec rm {} \;
# 2 conds
DESCRIPTION
Find descends the file tree starting at the given directory
checking each file in that directory and its subdirectories
against a predicate. If the predicate is true, an action is
taken. The predicates may be connected by -a (Boolean and),
-o (Boolean or) and ! (Boolean negation). Each predicate
is true under the conditions specified below. The integer n
may also be +n to mean any value greater than n, -n to mean
any value less than n, or just n for exactly n.
-name s true if current filename is s (include shell
wild cards)
-size n true if file size is n blocks
-inum n true if the current file's i-node number is n
-mtime n true if modification time relative to today
(in days) is n
-links n true if the number of links to the file is n
-newer f true if the file is newer than f
-perm n true if the file's permission bits = n (n is
in octal)
-user u true if the uid = u (a numerical value, not a
login name)
-group g true if the gid = g (a numerical value, not a
group name)
-type x where x is bcdfug (block, char, dir, regular
file, setuid, setgid)
-xdev do not cross devices to search mounted file
systems
Following the expression can be one of the following, tel-
ling what to do when a file is found:
-print print the file name on standard output
-print0 print the file name terminated by a null
character, to be used with xargs -0. (MINIX
3 extension).
-exec execute a command, {} stands for the file
name
-ok prompts before executing the command
SEE ALSO
test(1), xargs(1).