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