add/re-enable at_wini debug output
[minix3.git] / man / man1 / find.1
blobbdbb080d80234405083d167c3294f4fc56d070fd
1 .TH FIND 1
2 .SH NAME
3 find \- find files meeting a given condition
4 .SH SYNOPSIS
5 \fBfind \fIdirectory \fIexpression\fR
6 .br
7 .de FL
8 .TP
9 \\fB\\$1\\fR
10 \\$2
12 .de EX
13 .TP 20
14 \\fB\\$1\\fR
15 # \\$2
17 .SH EXAMPLES
18 .EX "find /  \-name a.out \-print" "Print all \fIa.out\fR paths"
19 .EX "find /usr/ast ! \-newer f \-ok rm {} \e;" "Ask before removing"
20 .EX "find /usr \-size +20 \-exec mv {} /big \e^;" "move files > 10k"
21 .EX "find / \e( \-name a.out \-o \-name \(fm*.o\(fm \e) \-exec rm {} \e;" "2 conds"
22 .SH DESCRIPTION
23 .PP
24 \fIFind\fR descends the file tree starting at the given directory checking
25 each file in that directory and its subdirectories against a predicate.
26 If the predicate is true, an action is taken.  The predicates may be
27 connected by \fB\-a\fR (Boolean and), \fB\-o\fR (Boolean or) and !
28 (Boolean negation).
29 Each predicate is true under the conditions specified below.  The integer 
30 \fIn\fR may also be +\fIn\fR to mean any value greater than \fIn\fR, 
31 \fI\-n\fR to mean any value less than
32 \fIn\fR, or just \fIn\fR for exactly \fIn\fR.
33 .PP
34 .RS
35 .ta +\w'\-mtime nmm'u
36 .in +\w'\-mtime nmm'u
37 .ti -\w'\-mtime nmm'u
38 \-name s        true if current filename is \fIs\fR (include shell wild cards)
39 .ti -\w'\-mtime nmm'u
40 \-size n        true if file size is \fIn\fR blocks
41 .ti -\w'\-mtime nmm'u
42 \-inum n        true if the current file's i-node number is \fIn\fR
43 .ti -\w'\-mtime nmm'u
44 \-mtime n       true if modification time relative to today (in days) is \fIn\fR
45 .ti -\w'\-mtime nmm'u
46 \-links n       true if the number of links to the file is \fIn\fR
47 .ti -\w'\-mtime nmm'u
48 \-newer f       true if the file is newer than \fIf\fR
49 .ti -\w'\-mtime nmm'u
50 \-perm n        true if the file's permission bits = \fIn\fR (\fIn\fR is in octal)
51 .ti -\w'\-mtime nmm'u
52 \-user u        true if the uid = \fIu\fR (a numerical value, not a login name)
53 .ti -\w'\-mtime nmm'u
54 \-group g       true if the gid = \fIg\fR (a numerical value, not a group name)
55 .ti -\w'\-mtime nmm'u
56 \-type x        where \fIx\fR is \fBbcdfug\fR (block, char, dir, regular file, setuid, setgid)
57 .ti -\w'\-mtime nmm'u
58 \-xdev  do not cross devices to search mounted file systems
59 .in -\w'\-mtime nmm'u
60 .fi
61 .RE
62 .PP
63 Following the expression can be one of the following, telling what to do
64 when a file is found:
65 .PP
66 .RS
67 .ta +\w'\-mtime nmm'u
68 .in +\w'\-mtime nmm'u
69 .ti -\w'\-mtime nmm'u
70 \-print print the file name on standard output
71 .ti -\w'\-mtime nmm'u
72 \-print0        print the file name terminated by a null character, to be
73 used with
74 .BR "xargs \-0" .
75 (MINIX 3 extension).
76 .ti -\w'\-mtime nmm'u
77 \-exec  execute a command, {} stands for the file name
78 .ti -\w'\-mtime nmm'u
79 \-ok    prompts before executing the command
80 .in -\w'\-mtime nmm'u
81 .RE
82 .SH "SEE ALSO"
83 .BR test (1),
84 .BR xargs (1).