xref: /freebsd/usr.bin/find/find.1 (revision cb29445a92708496312b59658abe2020d2359ac2)
158540776STim J. Robbins.\" Copyright (c) 1990, 1993
29b50d902SRodney W. Grimes.\"	The Regents of the University of California.  All rights reserved.
39b50d902SRodney W. Grimes.\"
49b50d902SRodney W. Grimes.\" This code is derived from software contributed to Berkeley by
59b50d902SRodney W. Grimes.\" the Institute of Electrical and Electronics Engineers, Inc.
69b50d902SRodney W. Grimes.\"
79b50d902SRodney W. Grimes.\" Redistribution and use in source and binary forms, with or without
89b50d902SRodney W. Grimes.\" modification, are permitted provided that the following conditions
99b50d902SRodney W. Grimes.\" are met:
109b50d902SRodney W. Grimes.\" 1. Redistributions of source code must retain the above copyright
119b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer.
129b50d902SRodney W. Grimes.\" 2. Redistributions in binary form must reproduce the above copyright
139b50d902SRodney W. Grimes.\"    notice, this list of conditions and the following disclaimer in the
149b50d902SRodney W. Grimes.\"    documentation and/or other materials provided with the distribution.
159b50d902SRodney W. Grimes.\" 3. All advertising materials mentioning features or use of this software
169b50d902SRodney W. Grimes.\"    must display the following acknowledgement:
179b50d902SRodney W. Grimes.\"	This product includes software developed by the University of
189b50d902SRodney W. Grimes.\"	California, Berkeley and its contributors.
199b50d902SRodney W. Grimes.\" 4. Neither the name of the University nor the names of its contributors
209b50d902SRodney W. Grimes.\"    may be used to endorse or promote products derived from this software
219b50d902SRodney W. Grimes.\"    without specific prior written permission.
229b50d902SRodney W. Grimes.\"
239b50d902SRodney W. Grimes.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
249b50d902SRodney W. Grimes.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
259b50d902SRodney W. Grimes.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
269b50d902SRodney W. Grimes.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
279b50d902SRodney W. Grimes.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
289b50d902SRodney W. Grimes.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
299b50d902SRodney W. Grimes.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
309b50d902SRodney W. Grimes.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
319b50d902SRodney W. Grimes.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
329b50d902SRodney W. Grimes.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
339b50d902SRodney W. Grimes.\" SUCH DAMAGE.
349b50d902SRodney W. Grimes.\"
35841484cdSPeter Wemm.\"	@(#)find.1	8.7 (Berkeley) 5/9/95
36c3aac50fSPeter Wemm.\" $FreeBSD$
379b50d902SRodney W. Grimes.\"
38107f86a2SStefan Farfeleder.Dd July 18, 2006
399b50d902SRodney W. Grimes.Dt FIND 1
409b50d902SRodney W. Grimes.Os
419b50d902SRodney W. Grimes.Sh NAME
429b50d902SRodney W. Grimes.Nm find
439b50d902SRodney W. Grimes.Nd walk a file hierarchy
449b50d902SRodney W. Grimes.Sh SYNOPSIS
458fe908efSRuslan Ermilov.Nm
469b50d902SRodney W. Grimes.Op Fl H | Fl L | Fl P
477c1d4b3aSAkinori MUSHA.Op Fl EXdsx
480c101fb2SJoseph Koshy.Op Fl f Ar pathname
49107f86a2SStefan Farfeleder.Ar pathname ...
50107f86a2SStefan Farfeleder.Ar expression
51107f86a2SStefan Farfeleder.Nm
52107f86a2SStefan Farfeleder.Op Fl H | Fl L | Fl P
53107f86a2SStefan Farfeleder.Op Fl EXdsx
54107f86a2SStefan Farfeleder.Fl f Ar pathname
55bfd12208SRuslan Ermilov.Op Ar pathname ...
569b50d902SRodney W. Grimes.Ar expression
579b50d902SRodney W. Grimes.Sh DESCRIPTION
58e8937ba0SPhilippe CharnierThe
59e8937ba0SPhilippe Charnier.Nm
60e8937ba0SPhilippe Charnierutility recursively descends the directory tree for each
610c101fb2SJoseph Koshy.Ar pathname
629b50d902SRodney W. Grimeslisted, evaluating an
639b50d902SRodney W. Grimes.Ar expression
64bfd12208SRuslan Ermilov(composed of the
65bfd12208SRuslan Ermilov.Dq primaries
66bfd12208SRuslan Ermilovand
67bfd12208SRuslan Ermilov.Dq operands
68bfd12208SRuslan Ermilovlisted below) in terms
699b50d902SRodney W. Grimesof each file in the tree.
709b50d902SRodney W. Grimes.Pp
719b50d902SRodney W. GrimesThe options are as follows:
72bfd12208SRuslan Ermilov.Bl -tag -width indent
737c1d4b3aSAkinori MUSHA.It Fl E
747c1d4b3aSAkinori MUSHAInterpret regular expressions followed by
757c1d4b3aSAkinori MUSHA.Ic -regex
767c1d4b3aSAkinori MUSHAand
777c1d4b3aSAkinori MUSHA.Ic -iregex
787c1d4b3aSAkinori MUSHAoptions as extended (modern) regular expressions rather than basic
79bfd12208SRuslan Ermilovregular expressions (BRE's).
80bfd12208SRuslan ErmilovThe
817c1d4b3aSAkinori MUSHA.Xr re_format 7
827c1d4b3aSAkinori MUSHAmanual page fully describes both formats.
839b50d902SRodney W. Grimes.It Fl H
843c94f41fSPhilippe CharnierCause the file information and file type (see
859b50d902SRodney W. Grimes.Xr stat 2 )
869b50d902SRodney W. Grimesreturned for each symbolic link specified on the command line to be
879b50d902SRodney W. Grimesthose of the file referenced by the link, not the link itself.
889b50d902SRodney W. GrimesIf the referenced file does not exist, the file information and type will
896df69548SBruce Evansbe for the link itself.
906df69548SBruce EvansFile information of all symbolic links not on
919b50d902SRodney W. Grimesthe command line is that of the link itself.
929b50d902SRodney W. Grimes.It Fl L
933c94f41fSPhilippe CharnierCause the file information and file type (see
949b50d902SRodney W. Grimes.Xr stat 2 )
959b50d902SRodney W. Grimesreturned for each symbolic link to be those of the file referenced by the
969b50d902SRodney W. Grimeslink, not the link itself.
979b50d902SRodney W. GrimesIf the referenced file does not exist, the file information and type will
989b50d902SRodney W. Grimesbe for the link itself.
9947d91ba3SDag-Erling Smørgrav.Pp
10047d91ba3SDag-Erling SmørgravThis option is equivalent to the deprecated
10147d91ba3SDag-Erling Smørgrav.Ic -follow
10247d91ba3SDag-Erling Smørgravprimary.
1039b50d902SRodney W. Grimes.It Fl P
1043c94f41fSPhilippe CharnierCause the file information and file type (see
1059b50d902SRodney W. Grimes.Xr stat 2 )
1069b50d902SRodney W. Grimesreturned for each symbolic link to be those of the link itself.
1073d9a9402SJohn PolstraThis is the default.
1089b50d902SRodney W. Grimes.It Fl X
1093c94f41fSPhilippe CharnierPermit
1109b50d902SRodney W. Grimes.Nm
1119b50d902SRodney W. Grimesto be safely used in conjunction with
1129b50d902SRodney W. Grimes.Xr xargs 1 .
1139b50d902SRodney W. GrimesIf a file name contains any of the delimiting characters used by
114bfd12208SRuslan Ermilov.Xr xargs 1 ,
1159b50d902SRodney W. Grimesa diagnostic message is displayed on standard error, and the file
1169b50d902SRodney W. Grimesis skipped.
117bfd12208SRuslan ErmilovThe delimiting characters include single
118bfd12208SRuslan Ermilov.Pq Dq Li " ' "
119bfd12208SRuslan Ermilovand double
120bfd12208SRuslan Ermilov.Pq Dq Li " \*q "
121bfd12208SRuslan Ermilovquotes, backslash
122bfd12208SRuslan Ermilov.Pq Dq Li \e ,
123bfd12208SRuslan Ermilovspace, tab and newline characters.
124a8d50686STom Rhodes.Pp
125a8d50686STom RhodesHowever, you may wish to consider the
126a8d50686STom Rhodes.Fl print0
127a8d50686STom Rhodesprimary in conjunction with
128e2f8ed51SRuslan Ermilov.Dq Nm xargs Fl 0
129a8d50686STom Rhodesas an effective alternative.
1309b50d902SRodney W. Grimes.It Fl d
1313c94f41fSPhilippe CharnierCause
1328fe908efSRuslan Ermilov.Nm
13354874bb6SRuslan Ermilovto perform a depth-first traversal, i.e., directories
13454874bb6SRuslan Ermilovare visited in post-order and all entries in a directory will be acted
1359b50d902SRodney W. Grimeson before the directory itself.
1369b50d902SRodney W. GrimesBy default,
1378fe908efSRuslan Ermilov.Nm
13854874bb6SRuslan Ermilovvisits directories in pre-order, i.e., before their contents.
1399b50d902SRodney W. GrimesNote, the default is
140bfd12208SRuslan Ermilov.Em not
14154874bb6SRuslan Ermilova breadth-first traversal.
14247d91ba3SDag-Erling Smørgrav.Pp
1431c832963SOliver EikemeierThis option is equivalent to the
14447d91ba3SDag-Erling Smørgrav.Ic -depth
1451c832963SOliver Eikemeierprimary of
1461c832963SOliver Eikemeier.St -p1003.1-2001 .
1471c832963SOliver Eikemeier.Fl d
1481c832963SOliver Eikemeiercan be useful when
1491c832963SOliver Eikemeier.Nm
1501c832963SOliver Eikemeieris used with
1511c832963SOliver Eikemeier.Xr cpio 1
1521c832963SOliver Eikemeierto process files that are contained in directories with unusual permissions.
1531c832963SOliver EikemeierIt ensures that you have write permission while you are placing files in a
1541c832963SOliver Eikemeierdirectory, then sets the directory's permissions as the last thing.
1559b50d902SRodney W. Grimes.It Fl f
1563c94f41fSPhilippe CharnierSpecify a file hierarchy for
1578fe908efSRuslan Ermilov.Nm
1589b50d902SRodney W. Grimesto traverse.
1599b50d902SRodney W. GrimesFile hierarchies may also be specified as the operands immediately
1609b50d902SRodney W. Grimesfollowing the options.
1616d0c7e13SWolfram Schneider.It Fl s
1623c94f41fSPhilippe CharnierCause
1638fe908efSRuslan Ermilov.Nm
1646df69548SBruce Evansto traverse the file hierarchies in lexicographical order,
1656df69548SBruce Evansi.e., alphabetical order within each directory.
1666df69548SBruce EvansNote:
167bfd12208SRuslan Ermilov.Ql find -s
1686d0c7e13SWolfram Schneiderand
169bfd12208SRuslan Ermilov.Ql "find | sort"
1706d0c7e13SWolfram Schneidermay give different results.
1719b50d902SRodney W. Grimes.It Fl x
1723c94f41fSPhilippe CharnierPrevent
1738fe908efSRuslan Ermilov.Nm
1749b50d902SRodney W. Grimesfrom descending into directories that have a device number different
1759b50d902SRodney W. Grimesthan that of the file from which the descent began.
17647d91ba3SDag-Erling Smørgrav.Pp
17747d91ba3SDag-Erling SmørgravThis option is equivalent to the deprecated
17847d91ba3SDag-Erling Smørgrav.Ic -xdev
17947d91ba3SDag-Erling Smørgravprimary.
1809b50d902SRodney W. Grimes.El
1819b50d902SRodney W. Grimes.Sh PRIMARIES
182bfd12208SRuslan Ermilov.Bl -tag -width indent
18331d53425SCeri Davies.It Ic -Bmin Ar n
18431d53425SCeri DaviesTrue if the difference between the time of a file's inode creation
18531d53425SCeri Daviesand the time
18631d53425SCeri Davies.Nm
18731d53425SCeri Davieswas started, rounded up to the next full minute, is
18831d53425SCeri Davies.Ar n
18931d53425SCeri Daviesminutes.
19031d53425SCeri Davies.It Ic -Bnewer Ar file
19131d53425SCeri DaviesSame as
19231d53425SCeri Davies.Ic -newerBm .
19331d53425SCeri Davies.It Ic -Btime Ar n Ns Op Cm smhdw
19431d53425SCeri DaviesIf no units are specified, this primary evaluates to
19531d53425SCeri Daviestrue if the difference between the time of a file's inode creation
19631d53425SCeri Daviesand the time
19731d53425SCeri Davies.Nm
19831d53425SCeri Davieswas started, rounded up to the next full 24-hour period, is
19931d53425SCeri Davies.Ar n
20031d53425SCeri Davies24-hour periods.
20131d53425SCeri Davies.Pp
20231d53425SCeri DaviesIf units are specified, this primary evaluates to
20331d53425SCeri Daviestrue if the difference between the time of last change of file status
20431d53425SCeri Daviesinformation and the time
20531d53425SCeri Davies.Nm
20631d53425SCeri Davieswas started is exactly
20731d53425SCeri Davies.Ar n
20831d53425SCeri Daviesunits.
20931d53425SCeri DaviesPlease refer to the
21031d53425SCeri Davies.Ic -atime
21131d53425SCeri Daviesprimary description for information on supported time units.
21253e87059STom Rhodes.It Ic -acl
21353e87059STom RhodesMay be used in conjunction with other options to locate
21453e87059STom Rhodesfiles with extended ACLs.
21553e87059STom RhodesSee
21653e87059STom Rhodes.Xr acl 3
21753e87059STom Rhodesfor more information.
2183f5223f8SWolfram Schneider.It Ic -amin Ar n
2193f5223f8SWolfram SchneiderTrue if the difference between the file last access time and the time
2208fe908efSRuslan Ermilov.Nm
22145fe9882SMatthew Huntwas started, rounded up to the next full minute, is
2223f5223f8SWolfram Schneider.Ar n
22345fe9882SMatthew Huntminutes.
224ea92232aSPoul-Henning Kamp.It Ic -anewer Ar file
225ea92232aSPoul-Henning KampSame as
226ea92232aSPoul-Henning Kamp.Ic -neweram .
227adff4fcaSRuslan Ermilov.It Ic -atime Ar n Ns Op Cm smhdw
228adff4fcaSRuslan ErmilovIf no units are specified, this primary evaluates to
229adff4fcaSRuslan Ermilovtrue if the difference between the file last access time and the time
2308fe908efSRuslan Ermilov.Nm
23154874bb6SRuslan Ermilovwas started, rounded up to the next full 24-hour period, is
2329b50d902SRodney W. Grimes.Ar n
23354874bb6SRuslan Ermilov24-hour periods.
234adff4fcaSRuslan Ermilov.Pp
235adff4fcaSRuslan ErmilovIf units are specified, this primary evaluates to
236adff4fcaSRuslan Ermilovtrue if the difference between the file last access time and the time
237adff4fcaSRuslan Ermilov.Nm
238adff4fcaSRuslan Ermilovwas started is exactly
239adff4fcaSRuslan Ermilov.Ar n
240adff4fcaSRuslan Ermilovunits.
241adff4fcaSRuslan ErmilovPossible time units are as follows:
242adff4fcaSRuslan Ermilov.Pp
243adff4fcaSRuslan Ermilov.Bl -tag -width indent -compact
244adff4fcaSRuslan Ermilov.It Cm s
245adff4fcaSRuslan Ermilovsecond
246adff4fcaSRuslan Ermilov.It Cm m
247adff4fcaSRuslan Ermilovminute (60 seconds)
248adff4fcaSRuslan Ermilov.It Cm h
249adff4fcaSRuslan Ermilovhour (60 minutes)
250adff4fcaSRuslan Ermilov.It Cm d
251adff4fcaSRuslan Ermilovday (24 hours)
252adff4fcaSRuslan Ermilov.It Cm w
253adff4fcaSRuslan Ermilovweek (7 days)
254adff4fcaSRuslan Ermilov.El
255adff4fcaSRuslan Ermilov.Pp
256adff4fcaSRuslan ErmilovAny number of units may be combined in one
257adff4fcaSRuslan Ermilov.Ic -atime
258adff4fcaSRuslan Ermilovargument, for example,
259adff4fcaSRuslan Ermilov.Dq Li "-atime -1h30m" .
260adff4fcaSRuslan ErmilovUnits are probably only useful when used in conjunction with the
261adff4fcaSRuslan Ermilov.Cm +
262adff4fcaSRuslan Ermilovor
263adff4fcaSRuslan Ermilov.Cm -
264adff4fcaSRuslan Ermilovmodifier.
2653f5223f8SWolfram Schneider.It Ic -cmin Ar n
2663f5223f8SWolfram SchneiderTrue if the difference between the time of last change of file status
2673f5223f8SWolfram Schneiderinformation and the time
2688fe908efSRuslan Ermilov.Nm
26945fe9882SMatthew Huntwas started, rounded up to the next full minute, is
2703f5223f8SWolfram Schneider.Ar n
27145fe9882SMatthew Huntminutes.
272ea92232aSPoul-Henning Kamp.It Ic -cnewer Ar file
273ea92232aSPoul-Henning KampSame as
274ea92232aSPoul-Henning Kamp.Ic -newercm .
275adff4fcaSRuslan Ermilov.It Ic -ctime Ar n Ns Op Cm smhdw
276adff4fcaSRuslan ErmilovIf no units are specified, this primary evaluates to
277adff4fcaSRuslan Ermilovtrue if the difference between the time of last change of file status
2789b50d902SRodney W. Grimesinformation and the time
2798fe908efSRuslan Ermilov.Nm
28054874bb6SRuslan Ermilovwas started, rounded up to the next full 24-hour period, is
2819b50d902SRodney W. Grimes.Ar n
28254874bb6SRuslan Ermilov24-hour periods.
283adff4fcaSRuslan Ermilov.Pp
284adff4fcaSRuslan ErmilovIf units are specified, this primary evaluates to
285adff4fcaSRuslan Ermilovtrue if the difference between the time of last change of file status
286adff4fcaSRuslan Ermilovinformation and the time
287adff4fcaSRuslan Ermilov.Nm
288adff4fcaSRuslan Ermilovwas started is exactly
289adff4fcaSRuslan Ermilov.Ar n
290adff4fcaSRuslan Ermilovunits.
291adff4fcaSRuslan ErmilovPlease refer to the
292adff4fcaSRuslan Ermilov.Ic -atime
293adff4fcaSRuslan Ermilovprimary description for information on supported time units.
294abacbbbfSPeter Wemm.It Ic -delete
2956df69548SBruce EvansDelete found files and/or directories.
2966df69548SBruce EvansAlways returns true.
2976df69548SBruce EvansThis executes
298abacbbbfSPeter Wemmfrom the current working directory as
299abacbbbfSPeter Wemm.Nm
3006df69548SBruce Evansrecurses down the tree.
301bfd12208SRuslan ErmilovIt will not attempt to delete a filename with a
302bfd12208SRuslan Ermilov.Dq Pa /
303bfd12208SRuslan Ermilovcharacter in its pathname relative to
304bfd12208SRuslan Ermilov.Dq Pa \&.
305bfd12208SRuslan Ermilovfor security reasons.
30654874bb6SRuslan ErmilovDepth-first traversal processing is implied by this option.
3079b4e871aSDavid E. O'Brien.It Ic -depth
3089b4e871aSDavid E. O'BrienAlways true;
3099b4e871aSDavid E. O'Briensame as the
3109b4e871aSDavid E. O'Brien.Fl d
3119b4e871aSDavid E. O'Brienoption.
3121c832963SOliver Eikemeier.It Ic -depth Ar n
3131c832963SOliver EikemeierTrue if the depth of the file relative to the starting point of the traversal
3141c832963SOliver Eikemeieris
3151c832963SOliver Eikemeier.Ar n .
316ed1a4621SPeter Wemm.It Ic -empty
317ed1a4621SPeter WemmTrue if the current file or directory is empty.
318c93e83feSRuslan Ermilov.It Ic -exec Ar utility Oo Ar argument ... Oc Li \&;
3199b50d902SRodney W. GrimesTrue if the program named
3209b50d902SRodney W. Grimes.Ar utility
3219b50d902SRodney W. Grimesreturns a zero value as its exit status.
322bfd12208SRuslan ErmilovOptional
323bfd12208SRuslan Ermilov.Ar arguments
324bfd12208SRuslan Ermilovmay be passed to the utility.
325bfd12208SRuslan ErmilovThe expression must be terminated by a semicolon
326bfd12208SRuslan Ermilov.Pq Dq Li \&; .
3276a2b59f8SJens SchweikhardtIf you invoke
3286a2b59f8SJens Schweikhardt.Nm
3296a2b59f8SJens Schweikhardtfrom a shell you may need to quote the semicolon if the shell would
3306a2b59f8SJens Schweikhardtotherwise treat it as a control operator.
331bfd12208SRuslan ErmilovIf the string
332bfd12208SRuslan Ermilov.Dq Li {}
333bfd12208SRuslan Ermilovappears anywhere in the utility name or the
3349b50d902SRodney W. Grimesarguments it is replaced by the pathname of the current file.
3359b50d902SRodney W. Grimes.Ar Utility
3369b50d902SRodney W. Grimeswill be executed from the directory from which
3378fe908efSRuslan Ermilov.Nm
3389b50d902SRodney W. Grimeswas executed.
33908274979SYaroslav Tykhiy.Ar Utility
34008274979SYaroslav Tykhiyand
34108274979SYaroslav Tykhiy.Ar arguments
34208274979SYaroslav Tykhiyare not subject to the further expansion of shell patterns
34308274979SYaroslav Tykhiyand constructs.
344c93e83feSRuslan Ermilov.It Ic -exec Ar utility Oo Ar argument ... Oc Li {} +
3455e25d888STim J. RobbinsSame as
3465e25d888STim J. Robbins.Ic -exec ,
3475e25d888STim J. Robbinsexcept that
3485e25d888STim J. Robbins.Dq Li {}
3495e25d888STim J. Robbinsis replaced with as many pathnames as possible for each invocation of
3505e25d888STim J. Robbins.Ar utility .
3515e25d888STim J. RobbinsThis behaviour is similar to that of
3525e25d888STim J. Robbins.Xr xargs 1 .
353c93e83feSRuslan Ermilov.It Ic -execdir Ar utility Oo Ar argument ... Oc Li \&;
354127d7563SWarner LoshThe
355bfd12208SRuslan Ermilov.Ic -execdir
356127d7563SWarner Loshprimary is identical to the
357127d7563SWarner Losh.Ic -exec
358127d7563SWarner Loshprimary with the exception that
359bfd12208SRuslan Ermilov.Ar utility
360127d7563SWarner Loshwill be executed from the directory that holds
3616df69548SBruce Evansthe current file.
3626df69548SBruce EvansThe filename substituted for
363bfd12208SRuslan Ermilovthe string
364bfd12208SRuslan Ermilov.Dq Li {}
365bfd12208SRuslan Ermilovis not qualified.
3667fd5ee41SRuslan Ermilov.It Ic -flags Oo Cm - Ns | Ns Cm + Oc Ns Ar flags , Ns Ar notflags
3677fd5ee41SRuslan ErmilovThe flags are specified using symbolic names (see
368208691fcSRuslan Ermilov.Xr chflags 1 ) .
3697fd5ee41SRuslan ErmilovThose with the
3707fd5ee41SRuslan Ermilov.Qq Li no
3717fd5ee41SRuslan Ermilovprefix (except
3727fd5ee41SRuslan Ermilov.Qq Li nodump )
3737fd5ee41SRuslan Ermilovare said to be
3747fd5ee41SRuslan Ermilov.Ar notflags .
3757fd5ee41SRuslan ErmilovFlags in
3767fd5ee41SRuslan Ermilov.Ar flags
3777fd5ee41SRuslan Ermilovare checked to be set, and flags in
3787fd5ee41SRuslan Ermilov.Ar notflags
3797fd5ee41SRuslan Ermilovare checked to be not set.
380208691fcSRuslan ErmilovNote that this is different from
381208691fcSRuslan Ermilov.Ic -perm ,
3827fd5ee41SRuslan Ermilovwhich only allows the user to specify mode bits that are set.
3837fd5ee41SRuslan Ermilov.Pp
3847fd5ee41SRuslan ErmilovIf flags are preceded by a dash
3857fd5ee41SRuslan Ermilov.Pq Dq Li - ,
3867fd5ee41SRuslan Ermilovthis primary evaluates to true
3877fd5ee41SRuslan Ermilovif at least all of the bits in
3887fd5ee41SRuslan Ermilov.Ar flags
3897fd5ee41SRuslan Ermilovand none of the bits in
3907fd5ee41SRuslan Ermilov.Ar notflags
3917fd5ee41SRuslan Ermilovare set in the file's flags bits.
3927fd5ee41SRuslan ErmilovIf flags are preceded by a plus
3937fd5ee41SRuslan Ermilov.Pq Dq Li + ,
3947fd5ee41SRuslan Ermilovthis primary evaluates to true
3957fd5ee41SRuslan Ermilovif any of the bits in
3967fd5ee41SRuslan Ermilov.Ar flags
3977fd5ee41SRuslan Ermilovis set in the file's flags bits,
3987fd5ee41SRuslan Ermilovor any of the bits in
3997fd5ee41SRuslan Ermilov.Ar notflags
4007fd5ee41SRuslan Ermilovis not set in the file's flags bits.
4017fd5ee41SRuslan ErmilovOtherwise,
4027fd5ee41SRuslan Ermilovthis primary evaluates to true
4037fd5ee41SRuslan Ermilovif the bits in
4047fd5ee41SRuslan Ermilov.Ar flags
4057fd5ee41SRuslan Ermilovexactly match the file's flags bits,
4067fd5ee41SRuslan Ermilovand none of the
4077fd5ee41SRuslan Ermilov.Ar flags
4087fd5ee41SRuslan Ermilovbits match those of
4097fd5ee41SRuslan Ermilov.Ar notflags .
4109b50d902SRodney W. Grimes.It Ic -fstype Ar type
4119b50d902SRodney W. GrimesTrue if the file is contained in a file system of type
4129b50d902SRodney W. Grimes.Ar type .
413841484cdSPeter WemmThe
414841484cdSPeter Wemm.Xr sysctl 8
415841484cdSPeter Wemmcommand can be used to find out the types of file systems
416841484cdSPeter Wemmthat are available on the system:
417bfd12208SRuslan Ermilov.Pp
418bfd12208SRuslan Ermilov.Dl "sysctl vfs"
419bfd12208SRuslan Ermilov.Pp
420bfd12208SRuslan ErmilovIn addition, there are two pseudo-types,
421bfd12208SRuslan Ermilov.Dq Li local
422bfd12208SRuslan Ermilovand
423bfd12208SRuslan Ermilov.Dq Li rdonly .
4249b50d902SRodney W. GrimesThe former matches any file system physically mounted on the system where
4259b50d902SRodney W. Grimesthe
4268fe908efSRuslan Ermilov.Nm
4279b50d902SRodney W. Grimesis being executed and the latter matches any file system which is
4289b50d902SRodney W. Grimesmounted read-only.
4299b50d902SRodney W. Grimes.It Ic -group Ar gname
4309b50d902SRodney W. GrimesTrue if the file belongs to the group
4319b50d902SRodney W. Grimes.Ar gname .
4329b50d902SRodney W. GrimesIf
4339b50d902SRodney W. Grimes.Ar gname
4349b50d902SRodney W. Grimesis numeric and there is no such group name, then
4359b50d902SRodney W. Grimes.Ar gname
436bfd12208SRuslan Ermilovis treated as a group ID.
437208691fcSRuslan Ermilov.It Ic -iname Ar pattern
438208691fcSRuslan ErmilovLike
439208691fcSRuslan Ermilov.Ic -name ,
440208691fcSRuslan Ermilovbut the match is case insensitive.
4419b50d902SRodney W. Grimes.It Ic -inum Ar n
4429b50d902SRodney W. GrimesTrue if the file has inode number
4439b50d902SRodney W. Grimes.Ar n .
444208691fcSRuslan Ermilov.It Ic -ipath Ar pattern
445208691fcSRuslan ErmilovLike
446208691fcSRuslan Ermilov.Ic -path ,
447208691fcSRuslan Ermilovbut the match is case insensitive.
448208691fcSRuslan Ermilov.It Ic -iregex Ar pattern
449208691fcSRuslan ErmilovLike
450208691fcSRuslan Ermilov.Ic -regex ,
451208691fcSRuslan Ermilovbut the match is case insensitive.
4529b50d902SRodney W. Grimes.It Ic -links Ar n
4539b50d902SRodney W. GrimesTrue if the file has
4549b50d902SRodney W. Grimes.Ar n
4559b50d902SRodney W. Grimeslinks.
4569b50d902SRodney W. Grimes.It Ic -ls
4579b50d902SRodney W. GrimesThis primary always evaluates to true.
4589b50d902SRodney W. GrimesThe following information for the current file is written to standard output:
45954874bb6SRuslan Ermilovits inode number, size in 512-byte blocks, file permissions, number of hard
4609b50d902SRodney W. Grimeslinks, owner, group, size in bytes, last modification time, and pathname.
4619b50d902SRodney W. GrimesIf the file is a block or character special file, the major and minor numbers
4629b50d902SRodney W. Grimeswill be displayed instead of the size in bytes.
46354874bb6SRuslan ErmilovIf the file is a symbolic link, the pathname of the linked-to file will be
464bfd12208SRuslan Ermilovdisplayed preceded by
465bfd12208SRuslan Ermilov.Dq Li -> .
466bfd12208SRuslan ErmilovThe format is identical to that produced by
467bfd12208SRuslan Ermilov.Bk -words
468bfd12208SRuslan Ermilov.Nm ls Fl dgils .
469bfd12208SRuslan Ermilov.Ek
470c76bc8f3SOllivier Robert.It Ic -maxdepth Ar n
4719c61111dSOliver EikemeierAlways true; descend at most
4729c61111dSOliver Eikemeier.Ar n
4739c61111dSOliver Eikemeierdirectory levels below the command line arguments.
474d79829afSOliver EikemeierIf any
475d79829afSOliver Eikemeier.Ic -maxdepth
476d79829afSOliver Eikemeierprimary is specified, it applies to the entire expression even if it would
477d79829afSOliver Eikemeiernot normally be evaluated.
478d79829afSOliver Eikemeier.Ic -maxdepth Li 0
479d79829afSOliver Eikemeierlimits the whole search to the command line arguments.
480c76bc8f3SOllivier Robert.It Ic -mindepth Ar n
4819c61111dSOliver EikemeierAlways true; do not apply any tests or actions at levels less than
4829c61111dSOliver Eikemeier.Ar n .
483d79829afSOliver EikemeierIf any
484d79829afSOliver Eikemeier.Ic -mindepth
485d79829afSOliver Eikemeierprimary is specified, it applies to the entire expression even if it would
486d79829afSOliver Eikemeiernot normally be evaluated.
487d79829afSOliver Eikemeier.Ic -mindepth Li 1
488d79829afSOliver Eikemeierprocesses all but the command line arguments.
4893f5223f8SWolfram Schneider.It Ic -mmin Ar n
4903f5223f8SWolfram SchneiderTrue if the difference between the file last modification time and the time
4918fe908efSRuslan Ermilov.Nm
49245fe9882SMatthew Huntwas started, rounded up to the next full minute, is
4933f5223f8SWolfram Schneider.Ar n
49445fe9882SMatthew Huntminutes.
495208691fcSRuslan Ermilov.It Ic -mnewer Ar file
496208691fcSRuslan ErmilovSame as
497208691fcSRuslan Ermilov.Ic -newer .
498adff4fcaSRuslan Ermilov.It Ic -mtime Ar n Ns Op Cm smhdw
499adff4fcaSRuslan ErmilovIf no units are specified, this primary evaluates to
500adff4fcaSRuslan Ermilovtrue if the difference between the file last modification time and the time
5018fe908efSRuslan Ermilov.Nm
50254874bb6SRuslan Ermilovwas started, rounded up to the next full 24-hour period, is
5039b50d902SRodney W. Grimes.Ar n
50454874bb6SRuslan Ermilov24-hour periods.
505adff4fcaSRuslan Ermilov.Pp
506adff4fcaSRuslan ErmilovIf units are specified, this primary evaluates to
507adff4fcaSRuslan Ermilovtrue if the difference between the file last modification time and the time
508adff4fcaSRuslan Ermilov.Nm
509adff4fcaSRuslan Ermilovwas started is exactly
510adff4fcaSRuslan Ermilov.Ar n
511adff4fcaSRuslan Ermilovunits.
512adff4fcaSRuslan ErmilovPlease refer to the
513adff4fcaSRuslan Ermilov.Ic -atime
514adff4fcaSRuslan Ermilovprimary description for information on supported time units.
5159b50d902SRodney W. Grimes.It Ic -name Ar pattern
5169b50d902SRodney W. GrimesTrue if the last component of the pathname being examined matches
5179b50d902SRodney W. Grimes.Ar pattern .
518bfd12208SRuslan ErmilovSpecial shell pattern matching characters
519bfd12208SRuslan Ermilov.Dq ( Li \&[ ,
520bfd12208SRuslan Ermilov.Dq Li \&] ,
521bfd12208SRuslan Ermilov.Dq Li * ,
522bfd12208SRuslan Ermilovand
523bfd12208SRuslan Ermilov.Dq Li \&? )
5249b50d902SRodney W. Grimesmay be used as part of
5259b50d902SRodney W. Grimes.Ar pattern .
5269b50d902SRodney W. GrimesThese characters may be matched explicitly by escaping them with a
527bfd12208SRuslan Ermilovbackslash
528bfd12208SRuslan Ermilov.Pq Dq Li \e .
5299b50d902SRodney W. Grimes.It Ic -newer Ar file
5309b50d902SRodney W. GrimesTrue if the current file has a more recent last modification time than
5319b50d902SRodney W. Grimes.Ar file .
532bfd12208SRuslan Ermilov.It Ic -newer Ns Ar X Ns Ar Y Ar file
533bfd12208SRuslan ErmilovTrue if the current file has a more recent last access time
534bfd12208SRuslan Ermilov.Ar ( X Ns = Ns Cm a ) ,
53531d53425SCeri Daviesinode creation time
53631d53425SCeri Davies.Ar ( X Ns = Ns Cm B ) ,
537bfd12208SRuslan Ermilovchange time
538bfd12208SRuslan Ermilov.Ar ( X Ns = Ns Cm c ) ,
539bfd12208SRuslan Ermilovor modification time
540bfd12208SRuslan Ermilov.Ar ( X Ns = Ns Cm m )
541bfd12208SRuslan Ermilovthan the last access time
542bfd12208SRuslan Ermilov.Ar ( Y Ns = Ns Cm a ) ,
54331d53425SCeri Daviesinode creation time
54431d53425SCeri Davies.Ar ( Y Ns = Ns Cm B ) ,
545bfd12208SRuslan Ermilovchange time
546bfd12208SRuslan Ermilov.Ar ( Y Ns = Ns Cm c ) ,
547bfd12208SRuslan Ermilovor modification time
548bfd12208SRuslan Ermilov.Ar ( Y Ns = Ns Cm m )
549bfd12208SRuslan Ermilovof
550ea92232aSPoul-Henning Kamp.Ar file .
551ea92232aSPoul-Henning KampIn addition, if
552bfd12208SRuslan Ermilov.Ar Y Ns = Ns Cm t ,
553ea92232aSPoul-Henning Kampthen
554ea92232aSPoul-Henning Kamp.Ar file
555ea92232aSPoul-Henning Kampis instead interpreted as a direct date specification of the form
556ea92232aSPoul-Henning Kampunderstood by
557ea92232aSPoul-Henning Kamp.Xr cvs 1 .
558ea92232aSPoul-Henning KampNote that
559ea92232aSPoul-Henning Kamp.Ic -newermm
560ea92232aSPoul-Henning Kampis equivalent to
561ea92232aSPoul-Henning Kamp.Ic -newer .
5629b50d902SRodney W. Grimes.It Ic -nogroup
5639b50d902SRodney W. GrimesTrue if the file belongs to an unknown group.
564208691fcSRuslan Ermilov.It Ic -nouser
565208691fcSRuslan ErmilovTrue if the file belongs to an unknown user.
566c93e83feSRuslan Ermilov.It Ic -ok Ar utility Oo Ar argument ... Oc Li \&;
567208691fcSRuslan ErmilovThe
568208691fcSRuslan Ermilov.Ic -ok
569208691fcSRuslan Ermilovprimary is identical to the
570208691fcSRuslan Ermilov.Ic -exec
571208691fcSRuslan Ermilovprimary with the exception that
572208691fcSRuslan Ermilov.Nm
573208691fcSRuslan Ermilovrequests user affirmation for the execution of the
574208691fcSRuslan Ermilov.Ar utility
575208691fcSRuslan Ermilovby printing
576208691fcSRuslan Ermilova message to the terminal and reading a response.
57739c59153SRuslan ErmilovIf the response is not affirmative
57839c59153SRuslan Ermilov.Ql ( y
579ef6c7764STim J. Robbinsin the
580ef6c7764STim J. Robbins.Dq Li POSIX
581ef6c7764STim J. Robbinslocale),
582208691fcSRuslan Ermilovthe command is not executed and the
583208691fcSRuslan Ermilovvalue of the
584208691fcSRuslan Ermilov.Ic -ok
585208691fcSRuslan Ermilovexpression is false.
586c93e83feSRuslan Ermilov.It Ic -okdir Ar utility Oo Ar argument ... Oc Li \&;
587208691fcSRuslan ErmilovThe
588208691fcSRuslan Ermilov.Ic -okdir
589208691fcSRuslan Ermilovprimary is identical to the
590208691fcSRuslan Ermilov.Ic -execdir
591208691fcSRuslan Ermilovprimary with the same exception as described for the
592208691fcSRuslan Ermilov.Ic -ok
593208691fcSRuslan Ermilovprimary.
5949b50d902SRodney W. Grimes.It Ic -path Ar pattern
5959b50d902SRodney W. GrimesTrue if the pathname being examined matches
5969b50d902SRodney W. Grimes.Ar pattern .
597bfd12208SRuslan ErmilovSpecial shell pattern matching characters
598bfd12208SRuslan Ermilov.Dq ( Li \&[ ,
599bfd12208SRuslan Ermilov.Dq Li \&] ,
600bfd12208SRuslan Ermilov.Dq Li * ,
601bfd12208SRuslan Ermilovand
602bfd12208SRuslan Ermilov.Dq Li \&? )
6039b50d902SRodney W. Grimesmay be used as part of
6049b50d902SRodney W. Grimes.Ar pattern .
6059b50d902SRodney W. GrimesThese characters may be matched explicitly by escaping them with a
606bfd12208SRuslan Ermilovbackslash
607bfd12208SRuslan Ermilov.Pq Dq Li \e .
608bfd12208SRuslan ErmilovSlashes
609bfd12208SRuslan Ermilov.Pq Dq Li /
610bfd12208SRuslan Ermilovare treated as normal characters and do not have to be
6119b50d902SRodney W. Grimesmatched explicitly.
6127fd5ee41SRuslan Ermilov.It Ic -perm Oo Cm - Ns | Ns Cm + Oc Ns Ar mode
6139b50d902SRodney W. GrimesThe
6149b50d902SRodney W. Grimes.Ar mode
6159b50d902SRodney W. Grimesmay be either symbolic (see
6169b50d902SRodney W. Grimes.Xr chmod 1 )
6179b50d902SRodney W. Grimesor an octal number.
6187fd5ee41SRuslan ErmilovIf the
6197fd5ee41SRuslan Ermilov.Ar mode
6207fd5ee41SRuslan Ermilovis symbolic, a starting value of zero is assumed and the
6217fd5ee41SRuslan Ermilov.Ar mode
6227fd5ee41SRuslan Ermilovsets or clears permissions without regard to the process' file mode
6239b50d902SRodney W. Grimescreation mask.
6247fd5ee41SRuslan ErmilovIf the
6257fd5ee41SRuslan Ermilov.Ar mode
6267fd5ee41SRuslan Ermilovis octal, only bits 07777
627bfd12208SRuslan Ermilov.Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO
6289b50d902SRodney W. Grimesof the file's mode bits participate
6299b50d902SRodney W. Grimesin the comparison.
6307fd5ee41SRuslan ErmilovIf the
6317fd5ee41SRuslan Ermilov.Ar mode
6327fd5ee41SRuslan Ermilovis preceded by a dash
633bfd12208SRuslan Ermilov.Pq Dq Li - ,
6349b88faecSRuslan Ermilovthis primary evaluates to true
6357fd5ee41SRuslan Ermilovif at least all of the bits in the
6367fd5ee41SRuslan Ermilov.Ar mode
6377fd5ee41SRuslan Ermilovare set in the file's mode bits.
6387fd5ee41SRuslan ErmilovIf the
6397fd5ee41SRuslan Ermilov.Ar mode
6407fd5ee41SRuslan Ermilovis preceded by a plus
641bfd12208SRuslan Ermilov.Pq Dq Li + ,
6429b88faecSRuslan Ermilovthis primary evaluates to true
6437fd5ee41SRuslan Ermilovif any of the bits in the
6447fd5ee41SRuslan Ermilov.Ar mode
6457fd5ee41SRuslan Ermilovare set in the file's mode bits.
6469d2796c3SOllivier RobertOtherwise, this primary evaluates to true if
6477fd5ee41SRuslan Ermilovthe bits in the
6487fd5ee41SRuslan Ermilov.Ar mode
6497fd5ee41SRuslan Ermilovexactly match the file's mode bits.
650bfd12208SRuslan ErmilovNote, the first character of a symbolic mode may not be a dash
651bfd12208SRuslan Ermilov.Pq Dq Li - .
6529b50d902SRodney W. Grimes.It Ic -print
6539b50d902SRodney W. GrimesThis primary always evaluates to true.
6549b50d902SRodney W. GrimesIt prints the pathname of the current file to standard output.
655841484cdSPeter WemmIf none of
656bfd12208SRuslan Ermilov.Ic -exec , -ls , -print0 ,
6579b50d902SRodney W. Grimesor
658bfd12208SRuslan Ermilov.Ic -ok
659841484cdSPeter Wemmis specified, the given expression shall be effectively replaced by
660bfd12208SRuslan Ermilov.Cm \&( Ar "given expression" Cm \&) Ic -print .
6617cd23434SGarrett Wollman.It Ic -print0
6627cd23434SGarrett WollmanThis primary always evaluates to true.
663fbe0d04aSMasafumi Max NAKANEIt prints the pathname of the current file to standard output, followed by an
664cb29445aSRuslan Ermilov.Tn ASCII
665cb29445aSRuslan Ermilov.Dv NUL
6667cd23434SGarrett Wollmancharacter (character code 0).
6679b50d902SRodney W. Grimes.It Ic -prune
6689b50d902SRodney W. GrimesThis primary always evaluates to true.
6699b50d902SRodney W. GrimesIt causes
6708fe908efSRuslan Ermilov.Nm
6719b50d902SRodney W. Grimesto not descend into the current file.
6729b50d902SRodney W. GrimesNote, the
6739b50d902SRodney W. Grimes.Ic -prune
6749b50d902SRodney W. Grimesprimary has no effect if the
6759b50d902SRodney W. Grimes.Fl d
6769b50d902SRodney W. Grimesoption was specified.
677208691fcSRuslan Ermilov.It Ic -regex Ar pattern
678208691fcSRuslan ErmilovTrue if the whole path of the file matches
679208691fcSRuslan Ermilov.Ar pattern
680208691fcSRuslan Ermilovusing regular expression.
681208691fcSRuslan ErmilovTo match a file named
682208691fcSRuslan Ermilov.Dq Pa ./foo/xyzzy ,
683208691fcSRuslan Ermilovyou can use the regular expression
684208691fcSRuslan Ermilov.Dq Li ".*/[xyz]*"
685208691fcSRuslan Ermilovor
686208691fcSRuslan Ermilov.Dq Li ".*/foo/.*" ,
687208691fcSRuslan Ermilovbut not
688208691fcSRuslan Ermilov.Dq Li xyzzy
689208691fcSRuslan Ermilovor
690208691fcSRuslan Ermilov.Dq Li /foo/ .
6915a890aacSKirill Ponomarev.It Ic -size Ar n Ns Op Cm ckMGTP
69254874bb6SRuslan ErmilovTrue if the file's size, rounded up, in 512-byte blocks is
6939b50d902SRodney W. Grimes.Ar n .
6949b50d902SRodney W. GrimesIf
6959b50d902SRodney W. Grimes.Ar n
696bfd12208SRuslan Ermilovis followed by a
697bfd12208SRuslan Ermilov.Cm c ,
698bfd12208SRuslan Ermilovthen the primary is true if the
6999b50d902SRodney W. Grimesfile's size is
7009b50d902SRodney W. Grimes.Ar n
701bfd12208SRuslan Ermilovbytes (characters).
7025a890aacSKirill PonomarevSimilarly if
7035a890aacSKirill Ponomarev.Ar n
7045a890aacSKirill Ponomarevis followed by a scale indicator then the file's size is compared to
7055a890aacSKirill Ponomarev.Ar n
7065a890aacSKirill Ponomarevscaled as:
7075a890aacSKirill Ponomarev.Pp
7085a890aacSKirill Ponomarev.Bl -tag -width indent -compact
7095a890aacSKirill Ponomarev.It Cm k
7105a890aacSKirill Ponomarevkilobytes (1024 bytes)
7115a890aacSKirill Ponomarev.It Cm M
7125a890aacSKirill Ponomarevmegabytes (1024 kilobytes)
7135a890aacSKirill Ponomarev.It Cm G
7145a890aacSKirill Ponomarevgigabytes (1024 megabytes)
7155a890aacSKirill Ponomarev.It Cm T
7165a890aacSKirill Ponomarevterabytes (1024 gigabytes)
7175a890aacSKirill Ponomarev.It Cm P
7185a890aacSKirill Ponomarevpetabytes (1024 terabytes)
7195a890aacSKirill Ponomarev.El
7205a890aacSKirill Ponomarev.Pp
7219b50d902SRodney W. Grimes.It Ic -type Ar t
7229b50d902SRodney W. GrimesTrue if the file is of the specified type.
7239b50d902SRodney W. GrimesPossible file types are as follows:
7249b50d902SRodney W. Grimes.Pp
725bfd12208SRuslan Ermilov.Bl -tag -width indent -compact
7269b50d902SRodney W. Grimes.It Cm b
7279b50d902SRodney W. Grimesblock special
7289b50d902SRodney W. Grimes.It Cm c
7299b50d902SRodney W. Grimescharacter special
7309b50d902SRodney W. Grimes.It Cm d
7319b50d902SRodney W. Grimesdirectory
7329b50d902SRodney W. Grimes.It Cm f
7339b50d902SRodney W. Grimesregular file
7349b50d902SRodney W. Grimes.It Cm l
7359b50d902SRodney W. Grimessymbolic link
7369b50d902SRodney W. Grimes.It Cm p
7379b50d902SRodney W. GrimesFIFO
7389b50d902SRodney W. Grimes.It Cm s
7399b50d902SRodney W. Grimessocket
7409b50d902SRodney W. Grimes.El
7419b50d902SRodney W. Grimes.It Ic -user Ar uname
7429b50d902SRodney W. GrimesTrue if the file belongs to the user
7439b50d902SRodney W. Grimes.Ar uname .
7449b50d902SRodney W. GrimesIf
7459b50d902SRodney W. Grimes.Ar uname
7469b50d902SRodney W. Grimesis numeric and there is no such user name, then
7479b50d902SRodney W. Grimes.Ar uname
748bfd12208SRuslan Ermilovis treated as a user ID.
7499b50d902SRodney W. Grimes.El
7509b50d902SRodney W. Grimes.Pp
7519b50d902SRodney W. GrimesAll primaries which take a numeric argument allow the number to be
7529b88faecSRuslan Ermilovpreceded by a plus sign
753bfd12208SRuslan Ermilov.Pq Dq Li +
7549b88faecSRuslan Ermilovor a minus sign
755bfd12208SRuslan Ermilov.Pq Dq Li - .
756bfd12208SRuslan ErmilovA preceding plus sign means
757bfd12208SRuslan Ermilov.Dq more than n ,
758bfd12208SRuslan Ermilova preceding minus sign means
759bfd12208SRuslan Ermilov.Dq less than n
760bfd12208SRuslan Ermilovand neither means
761bfd12208SRuslan Ermilov.Dq exactly n .
7629b50d902SRodney W. Grimes.Sh OPERATORS
7639b50d902SRodney W. GrimesThe primaries may be combined using the following operators.
7649b50d902SRodney W. GrimesThe operators are listed in order of decreasing precedence.
765bfd12208SRuslan Ermilov.Pp
766bfd12208SRuslan Ermilov.Bl -tag -width "( expression )" -compact
7670c101fb2SJoseph Koshy.It Cm \&( Ar expression Cm \&)
7689b50d902SRodney W. GrimesThis evaluates to true if the parenthesized expression evaluates to
7699b50d902SRodney W. Grimestrue.
7709b50d902SRodney W. Grimes.Pp
7710c101fb2SJoseph Koshy.It Cm \&! Ar expression
772c9776a93SJuli Mallett.It Cm -false Ar expression
7734a0193d3SJuli Mallett.It Cm -not Ar expression
7749b50d902SRodney W. GrimesThis is the unary
7759b50d902SRodney W. Grimes.Tn NOT
7769b50d902SRodney W. Grimesoperator.
7779b50d902SRodney W. GrimesIt evaluates to true if the expression is false.
7789b50d902SRodney W. Grimes.Pp
7799b50d902SRodney W. Grimes.It Ar expression Cm -and Ar expression
7809b50d902SRodney W. Grimes.It Ar expression expression
7819b50d902SRodney W. GrimesThe
7829b50d902SRodney W. Grimes.Cm -and
7839b50d902SRodney W. Grimesoperator is the logical
7849b50d902SRodney W. Grimes.Tn AND
7859b50d902SRodney W. Grimesoperator.
7869b50d902SRodney W. GrimesAs it is implied by the juxtaposition of two expressions it does not
7879b50d902SRodney W. Grimeshave to be specified.
7889b50d902SRodney W. GrimesThe expression evaluates to true if both expressions are true.
7899b50d902SRodney W. GrimesThe second expression is not evaluated if the first expression is false.
7909b50d902SRodney W. Grimes.Pp
7919b50d902SRodney W. Grimes.It Ar expression Cm -or Ar expression
7929b50d902SRodney W. GrimesThe
7939b50d902SRodney W. Grimes.Cm -or
7949b50d902SRodney W. Grimesoperator is the logical
7959b50d902SRodney W. Grimes.Tn OR
7969b50d902SRodney W. Grimesoperator.
7979b50d902SRodney W. GrimesThe expression evaluates to true if either the first or the second expression
7989b50d902SRodney W. Grimesis true.
7999b50d902SRodney W. GrimesThe second expression is not evaluated if the first expression is true.
8009b50d902SRodney W. Grimes.El
8019b50d902SRodney W. Grimes.Pp
8029b50d902SRodney W. GrimesAll operands and primaries must be separate arguments to
8038fe908efSRuslan Ermilov.Nm .
8049b50d902SRodney W. GrimesPrimaries which themselves take arguments expect each argument
8059b50d902SRodney W. Grimesto be a separate argument to
8068fe908efSRuslan Ermilov.Nm .
807ef6c7764STim J. Robbins.Sh ENVIRONMENT
808ef6c7764STim J. RobbinsThe
809ef6c7764STim J. Robbins.Ev LANG , LC_ALL , LC_COLLATE , LC_CTYPE , LC_MESSAGES
810ef6c7764STim J. Robbinsand
811ef6c7764STim J. Robbins.Ev LC_TIME
812ef6c7764STim J. Robbinsenvironment variables affect the execution of the
813ef6c7764STim J. Robbins.Nm
814ef6c7764STim J. Robbinsutility as described in
815ef6c7764STim J. Robbins.Xr environ 7 .
8169b50d902SRodney W. Grimes.Sh EXAMPLES
8179b50d902SRodney W. GrimesThe following examples are shown as given to the shell:
818bfd12208SRuslan Ermilov.Bl -tag -width indent
8199b50d902SRodney W. Grimes.It Li "find / \e! -name \*q*.c\*q -print"
820bfd12208SRuslan ErmilovPrint out a list of all the files whose names do not end in
821bfd12208SRuslan Ermilov.Pa .c .
8229b50d902SRodney W. Grimes.It Li "find / -newer ttt -user wnj -print"
823bfd12208SRuslan ErmilovPrint out a list of all the files owned by user
824bfd12208SRuslan Ermilov.Dq wnj
825bfd12208SRuslan Ermilovthat are newer
826bfd12208SRuslan Ermilovthan the file
827bfd12208SRuslan Ermilov.Pa ttt .
8289b50d902SRodney W. Grimes.It Li "find / \e! \e( -newer ttt -user wnj \e) -print"
829bfd12208SRuslan ErmilovPrint out a list of all the files which are not both newer than
830bfd12208SRuslan Ermilov.Pa ttt
831bfd12208SRuslan Ermilovand owned by
832bfd12208SRuslan Ermilov.Dq wnj .
8339b50d902SRodney W. Grimes.It Li "find / \e( -newer ttt -or -user wnj \e) -print"
834bfd12208SRuslan ErmilovPrint out a list of all the files that are either owned by
835bfd12208SRuslan Ermilov.Dq wnj
836bfd12208SRuslan Ermilovor that are newer than
837bfd12208SRuslan Ermilov.Pa ttt .
838e578c242STom Rhodes.It Li "find / -newerct '1 minute ago' -print"
839ea92232aSPoul-Henning KampPrint out a list of all the files whose inode change time is more
840ea92232aSPoul-Henning Kamprecent than the current time minus one minute.
84154874bb6SRuslan Ermilov.It Li "find / -type f -exec echo {} \e;"
842e578c242STom RhodesUse the
843e578c242STom Rhodes.Xr echo 1
844e578c242STom Rhodescommand to print out a list of all the files.
8451c832963SOliver Eikemeier.It Li "find -L /usr/ports/packages -type l -delete"
8461c832963SOliver EikemeierDelete all broken symbolic links in
8471c832963SOliver Eikemeier.Pa /usr/ports/packages .
8481c832963SOliver Eikemeier.It Li "find /usr/src -name CVS -prune -o -depth +6 -print"
8491c832963SOliver EikemeierFind files and directories that are at least seven levels deep
8501c832963SOliver Eikemeierin the working directory
8511c832963SOliver Eikemeier.Pa /usr/src .
8521c832963SOliver Eikemeier.It Li "find /usr/src -name CVS -prune -o -mindepth 7 -print"
8531c832963SOliver EikemeierIs not equivalent to the previous example, since
8541c832963SOliver Eikemeier.Ic -prune
8551c832963SOliver Eikemeieris not evaluated below level seven.
8569b50d902SRodney W. Grimes.El
857e578c242STom Rhodes.Sh COMPATIBILITY
858e578c242STom RhodesThe
859e578c242STom Rhodes.Ic -follow
86047d91ba3SDag-Erling Smørgravprimary is deprecated; the
86147d91ba3SDag-Erling Smørgrav.Fl L
86247d91ba3SDag-Erling Smørgravoption should be used instead.
86347d91ba3SDag-Erling SmørgravSee the
86447d91ba3SDag-Erling Smørgrav.Sx STANDARDS
86547d91ba3SDag-Erling Smørgravsection below for details.
8669b50d902SRodney W. Grimes.Sh SEE ALSO
867567664c4SOllivier Robert.Xr chflags 1 ,
8689b50d902SRodney W. Grimes.Xr chmod 1 ,
869ea92232aSPoul-Henning Kamp.Xr cvs 1 ,
8709b50d902SRodney W. Grimes.Xr locate 1 ,
87141cbb624SJoseph Koshy.Xr whereis 1 ,
87241cbb624SJoseph Koshy.Xr which 1 ,
873a8d50686STom Rhodes.Xr xargs 1 ,
8749b50d902SRodney W. Grimes.Xr stat 2 ,
87553e87059STom Rhodes.Xr acl 3 ,
8769b50d902SRodney W. Grimes.Xr fts 3 ,
8779b50d902SRodney W. Grimes.Xr getgrent 3 ,
8789b50d902SRodney W. Grimes.Xr getpwent 3 ,
8799b50d902SRodney W. Grimes.Xr strmode 3 ,
88094ad6032SRuslan Ermilov.Xr re_format 7 ,
8819b50d902SRodney W. Grimes.Xr symlink 7
8829b50d902SRodney W. Grimes.Sh STANDARDS
8839b50d902SRodney W. GrimesThe
8848fe908efSRuslan Ermilov.Nm
8859b50d902SRodney W. Grimesutility syntax is a superset of the syntax specified by the
8861c832963SOliver Eikemeier.St -p1003.1-2001
8879b50d902SRodney W. Grimesstandard.
8889b50d902SRodney W. Grimes.Pp
8891c832963SOliver EikemeierAll the single character options except
8901c832963SOliver Eikemeier.Ic -H
8911c832963SOliver Eikemeierand
8921c832963SOliver Eikemeier.Ic -L
8931c832963SOliver Eikemeieras well as the
894440a24d8SCeri Davies.Ic -iname , -inum , -iregex , -print0 , -delete , -ls , -regex ,
895440a24d8SCeri Daviesand all of the
896440a24d8SCeri Davies.Ic -B
897440a24d8SCeri Daviesbirthtime related primaries are extensions to
8981c832963SOliver Eikemeier.St -p1003.1-2001 .
899f6e4fb22SSteve Price.Pp
9009b50d902SRodney W. GrimesHistorically, the
90147d91ba3SDag-Erling Smørgrav.Fl d , L
9029b50d902SRodney W. Grimesand
9039b50d902SRodney W. Grimes.Fl x
904bfd12208SRuslan Ermilovoptions were implemented using the primaries
905bfd12208SRuslan Ermilov.Ic -depth , -follow ,
906bfd12208SRuslan Ermilovand
907bfd12208SRuslan Ermilov.Ic -xdev .
9089b50d902SRodney W. GrimesThese primaries always evaluated to true.
9099b50d902SRodney W. GrimesAs they were really global variables that took effect before the traversal
9109b50d902SRodney W. Grimesbegan, some legal expressions could have unexpected results.
911bfd12208SRuslan ErmilovAn example is the expression
912bfd12208SRuslan Ermilov.Ic -print Cm -o Ic -depth .
913bfd12208SRuslan ErmilovAs
914bfd12208SRuslan Ermilov.Ic -print
915bfd12208SRuslan Ermilovalways evaluates to true, the standard order of evaluation
916bfd12208SRuslan Ermilovimplies that
917bfd12208SRuslan Ermilov.Ic -depth
918bfd12208SRuslan Ermilovwould never be evaluated.
9199b50d902SRodney W. GrimesThis is not the case.
9209b50d902SRodney W. Grimes.Pp
921bfd12208SRuslan ErmilovThe operator
922bfd12208SRuslan Ermilov.Cm -or
923bfd12208SRuslan Ermilovwas implemented as
924bfd12208SRuslan Ermilov.Cm -o ,
925bfd12208SRuslan Ermilovand the operator
926bfd12208SRuslan Ermilov.Cm -and
927bfd12208SRuslan Ermilovwas implemented as
928bfd12208SRuslan Ermilov.Cm -a .
9299b50d902SRodney W. Grimes.Pp
9309b50d902SRodney W. GrimesHistoric implementations of the
931bfd12208SRuslan Ermilov.Ic -exec
9329b50d902SRodney W. Grimesand
933bfd12208SRuslan Ermilov.Ic -ok
934bfd12208SRuslan Ermilovprimaries did not replace the string
935bfd12208SRuslan Ermilov.Dq Li {}
936bfd12208SRuslan Ermilovin the utility name or the
9379b50d902SRodney W. Grimesutility arguments if it had preceding or following non-whitespace characters.
9389b50d902SRodney W. GrimesThis version replaces it no matter where in the utility name or arguments
9399b50d902SRodney W. Grimesit appears.
9407c1d4b3aSAkinori MUSHA.Pp
9417c1d4b3aSAkinori MUSHAThe
9427c1d4b3aSAkinori MUSHA.Fl E
94347d91ba3SDag-Erling Smørgravoption was inspired by the equivalent
9447c1d4b3aSAkinori MUSHA.Xr grep 1
9457c1d4b3aSAkinori MUSHAand
94647d91ba3SDag-Erling Smørgrav.Xr sed 1
94747d91ba3SDag-Erling Smørgravoptions.
948ad487600SColin Percival.Sh HISTORY
949ad487600SColin PercivalA
950ad487600SColin Percival.Nm
951ad487600SColin Percivalcommand appeared in
952ad487600SColin Percival.At v1 .
9539b50d902SRodney W. Grimes.Sh BUGS
9549b50d902SRodney W. GrimesThe special characters used by
9558fe908efSRuslan Ermilov.Nm
9569b50d902SRodney W. Grimesare also special characters to many shell programs.
957bfd12208SRuslan ErmilovIn particular, the characters
958bfd12208SRuslan Ermilov.Dq Li * ,
959bfd12208SRuslan Ermilov.Dq Li \&[ ,
960bfd12208SRuslan Ermilov.Dq Li \&] ,
961bfd12208SRuslan Ermilov.Dq Li \&? ,
962bfd12208SRuslan Ermilov.Dq Li \&( ,
963bfd12208SRuslan Ermilov.Dq Li \&) ,
964bfd12208SRuslan Ermilov.Dq Li \&! ,
965bfd12208SRuslan Ermilov.Dq Li \e
966bfd12208SRuslan Ermilovand
967bfd12208SRuslan Ermilov.Dq Li \&;
968bfd12208SRuslan Ermilovmay have to be escaped from the shell.
9699b50d902SRodney W. Grimes.Pp
9709b50d902SRodney W. GrimesAs there is no delimiter separating options and file names or file
9719b50d902SRodney W. Grimesnames and the
9729b50d902SRodney W. Grimes.Ar expression ,
973bfd12208SRuslan Ermilovit is difficult to specify files named
974bfd12208SRuslan Ermilov.Pa -xdev
975bfd12208SRuslan Ermilovor
976bfd12208SRuslan Ermilov.Pa \&! .
9779b50d902SRodney W. GrimesThese problems are handled by the
9789b50d902SRodney W. Grimes.Fl f
9799b50d902SRodney W. Grimesoption and the
9809b50d902SRodney W. Grimes.Xr getopt 3
981bfd12208SRuslan Ermilov.Dq Fl Fl
982bfd12208SRuslan Ermilovconstruct.
983abacbbbfSPeter Wemm.Pp
984abacbbbfSPeter WemmThe
985abacbbbfSPeter Wemm.Ic -delete
98656f7a840SBill Fumerolaprimary does not interact well with other options that cause the file system
987abacbbbfSPeter Wemmtree traversal options to be changed.
988ad487600SColin Percival.Pp
9894f45d811STim J. RobbinsThe
990dfef91e9SColin Percival.Ic -mindepth
991dfef91e9SColin Percivaland
992dfef91e9SColin Percival.Ic -maxdepth
9932cb640f6SColin Percivalprimaries are actually global options (as documented above).
9942cb640f6SColin PercivalThey should
995dfef91e9SColin Percivalprobably be replaced by options which look like options.
996