Difference between revisions of "32v 1m find"
(New page: FIND(1) UNIX Programmer's Manual FIND(1) == NAME == find - find files == SYNOPSIS == find pathname-list expression == DESCRIPTION == _F_i_n_d ...) |
m (formatting) |
||
Line 1: | Line 1: | ||
− | FIND(1) | + | FIND(1) UNIX Programmer's Manual FIND(1) |
== NAME == | == NAME == | ||
− | + | find - find files | |
== SYNOPSIS == | == SYNOPSIS == | ||
− | + | find pathname-list expression | |
== DESCRIPTION == | == 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 or f for block special file, character special file, directory or plain file. | |
− | |||
− | |||
− | + | -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. | |
− | + | -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 (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 == | == 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 == | == FILES == | ||
− | + | /etc/passwd | |
− | + | /etc/group | |
== SEE ALSO == | == SEE ALSO == | ||
− | + | [[32v 1m sh|sh(1)]], [[32v 1m test|test(1)]], [[32v 5m filsys|filsys(5)]] | |
== BUGS == | == BUGS == | ||
− | + | The syntax is painful. | |
[[Category:32v man section 1]] | [[Category:32v man section 1]] |
Latest revision as of 04:28, 5 October 2015
FIND(1) UNIX Programmer's Manual 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 or f for block special file, character special file, directory or plain file.
-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.
-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 (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 {} \;
FILES
/etc/passwd /etc/group
SEE ALSO
BUGS
The syntax is painful.