1.\" The Regents of the University of California. All rights reserved. 2.\" 3.\" This code is derived from software contributed to Berkeley by 4.\" the Institute of Electrical and Electronics Engineers, Inc. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed by the University of 17.\" California, Berkeley and its contributors. 18.\" 4. Neither the name of the University nor the names of its contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32.\" SUCH DAMAGE. 33.\" 34.\" @(#)find.1 8.7 (Berkeley) 5/9/95 35.\" $FreeBSD$ 36.\" 37.Dd April 06, 2004 38.Dt FIND 1 39.Os 40.Sh NAME 41.Nm find 42.Nd walk a file hierarchy 43.Sh SYNOPSIS 44.Nm 45.Op Fl H | Fl L | Fl P 46.Op Fl EXdsx 47.Op Fl f Ar pathname 48.Op Ar pathname ... 49.Ar expression 50.Sh DESCRIPTION 51The 52.Nm 53utility recursively descends the directory tree for each 54.Ar pathname 55listed, evaluating an 56.Ar expression 57(composed of the 58.Dq primaries 59and 60.Dq operands 61listed below) in terms 62of each file in the tree. 63.Pp 64The options are as follows: 65.Bl -tag -width indent 66.It Fl E 67Interpret regular expressions followed by 68.Ic -regex 69and 70.Ic -iregex 71options as extended (modern) regular expressions rather than basic 72regular expressions (BRE's). 73The 74.Xr re_format 7 75manual page fully describes both formats. 76.It Fl H 77Cause the file information and file type (see 78.Xr stat 2 ) 79returned for each symbolic link specified on the command line to be 80those of the file referenced by the link, not the link itself. 81If the referenced file does not exist, the file information and type will 82be for the link itself. 83File information of all symbolic links not on 84the command line is that of the link itself. 85.It Fl L 86Cause the file information and file type (see 87.Xr stat 2 ) 88returned for each symbolic link to be those of the file referenced by the 89link, not the link itself. 90If the referenced file does not exist, the file information and type will 91be for the link itself. 92.Pp 93This option is equivalent to the deprecated 94.Ic -follow 95primary. 96.It Fl P 97Cause the file information and file type (see 98.Xr stat 2 ) 99returned for each symbolic link to be those of the link itself. 100This is the default. 101.It Fl X 102Permit 103.Nm 104to be safely used in conjunction with 105.Xr xargs 1 . 106If a file name contains any of the delimiting characters used by 107.Xr xargs 1 , 108a diagnostic message is displayed on standard error, and the file 109is skipped. 110The delimiting characters include single 111.Pq Dq Li " ' " 112and double 113.Pq Dq Li " \*q " 114quotes, backslash 115.Pq Dq Li \e , 116space, tab and newline characters. 117.Pp 118However, you may wish to consider the 119.Fl print0 120primary in conjunction with 121.Dq Nm xargs Fl 0 122as an effective alternative. 123.It Fl d 124Cause 125.Nm 126to perform a depth\-first traversal, i.e., directories 127are visited in post\-order and all entries in a directory will be acted 128on before the directory itself. 129By default, 130.Nm 131visits directories in pre\-order, i.e., before their contents. 132Note, the default is 133.Em not 134a breadth\-first traversal. 135.Pp 136This option is equivalent to the deprecated 137.Ic -depth 138primary. 139.It Fl f 140Specify a file hierarchy for 141.Nm 142to traverse. 143File hierarchies may also be specified as the operands immediately 144following the options. 145.It Fl s 146Cause 147.Nm 148to traverse the file hierarchies in lexicographical order, 149i.e., alphabetical order within each directory. 150Note: 151.Ql find -s 152and 153.Ql "find | sort" 154may give different results. 155.It Fl x 156Prevent 157.Nm 158from descending into directories that have a device number different 159than that of the file from which the descent began. 160.Pp 161This option is equivalent to the deprecated 162.Ic -xdev 163primary. 164.El 165.Sh PRIMARIES 166.Bl -tag -width indent 167.It Ic -acl 168May be used in conjunction with other options to locate 169files with extended ACLs. 170See 171.Xr acl 3 172for more information. 173.It Ic -amin Ar n 174True if the difference between the file last access time and the time 175.Nm 176was started, rounded up to the next full minute, is 177.Ar n 178minutes. 179.It Ic -anewer Ar file 180Same as 181.Ic -neweram . 182.It Ic -atime Ar n Ns Op Cm smhdw 183If no units are specified, this primary evaluates to 184true if the difference between the file last access time and the time 185.Nm 186was started, rounded up to the next full 24\-hour period, is 187.Ar n 18824\-hour periods. 189.Pp 190If units are specified, this primary evaluates to 191true if the difference between the file last access time and the time 192.Nm 193was started is exactly 194.Ar n 195units. 196Possible time units are as follows: 197.Pp 198.Bl -tag -width indent -compact 199.It Cm s 200second 201.It Cm m 202minute (60 seconds) 203.It Cm h 204hour (60 minutes) 205.It Cm d 206day (24 hours) 207.It Cm w 208week (7 days) 209.El 210.Pp 211Any number of units may be combined in one 212.Ic -atime 213argument, for example, 214.Dq Li "-atime -1h30m" . 215Units are probably only useful when used in conjunction with the 216.Cm + 217or 218.Cm - 219modifier. 220.It Ic -cmin Ar n 221True if the difference between the time of last change of file status 222information and the time 223.Nm 224was started, rounded up to the next full minute, is 225.Ar n 226minutes. 227.It Ic -cnewer Ar file 228Same as 229.Ic -newercm . 230.It Ic -ctime Ar n Ns Op Cm smhdw 231If no units are specified, this primary evaluates to 232true if the difference between the time of last change of file status 233information and the time 234.Nm 235was started, rounded up to the next full 24\-hour period, is 236.Ar n 23724\-hour periods. 238.Pp 239If units are specified, this primary evaluates to 240true if the difference between the time of last change of file status 241information and the time 242.Nm 243was started is exactly 244.Ar n 245units. 246Please refer to the 247.Ic -atime 248primary description for information on supported time units. 249.It Ic -delete 250Delete found files and/or directories. 251Always returns true. 252This executes 253from the current working directory as 254.Nm 255recurses down the tree. 256It will not attempt to delete a filename with a 257.Dq Pa / 258character in its pathname relative to 259.Dq Pa \&. 260for security reasons. 261Depth\-first traversal processing is implied by this option. 262.It Ic -depth 263Always true; 264same as the 265.Fl d 266option. 267.Ic -depth 268can be useful when 269.Nm 270is used with 271.Xr cpio 1 272to process files that are contained in directories with unusual permissions. 273It ensures that you have write permission while you are placing files in a 274directory, then sets the directory's permissions as the last thing. 275.It Ic -empty 276True if the current file or directory is empty. 277.It Ic -exec Ar utility Oo Ar argument ... Oc Li \&; 278True if the program named 279.Ar utility 280returns a zero value as its exit status. 281Optional 282.Ar arguments 283may be passed to the utility. 284The expression must be terminated by a semicolon 285.Pq Dq Li \&; . 286If you invoke 287.Nm 288from a shell you may need to quote the semicolon if the shell would 289otherwise treat it as a control operator. 290If the string 291.Dq Li {} 292appears anywhere in the utility name or the 293arguments it is replaced by the pathname of the current file. 294.Ar Utility 295will be executed from the directory from which 296.Nm 297was executed. 298.Ar Utility 299and 300.Ar arguments 301are not subject to the further expansion of shell patterns 302and constructs. 303.It Ic -exec Ar utility Oo Ar argument ... Oc Li {} + 304Same as 305.Ic -exec , 306except that 307.Dq Li {} 308is replaced with as many pathnames as possible for each invocation of 309.Ar utility . 310This behaviour is similar to that of 311.Xr xargs 1 . 312.It Ic -execdir Ar utility Oo Ar argument ... Oc Li \&; 313The 314.Ic -execdir 315primary is identical to the 316.Ic -exec 317primary with the exception that 318.Ar utility 319will be executed from the directory that holds 320the current file. 321The filename substituted for 322the string 323.Dq Li {} 324is not qualified. 325.It Ic -flags Oo Cm - Ns | Ns Cm + Oc Ns Ar flags , Ns Ar notflags 326The flags are specified using symbolic names (see 327.Xr chflags 1 ) . 328Those with the 329.Qq Li no 330prefix (except 331.Qq Li nodump ) 332are said to be 333.Ar notflags . 334Flags in 335.Ar flags 336are checked to be set, and flags in 337.Ar notflags 338are checked to be not set. 339Note that this is different from 340.Ic -perm , 341which only allows the user to specify mode bits that are set. 342.Pp 343If flags are preceded by a dash 344.Pq Dq Li - , 345this primary evaluates to true 346if at least all of the bits in 347.Ar flags 348and none of the bits in 349.Ar notflags 350are set in the file's flags bits. 351If flags are preceded by a plus 352.Pq Dq Li + , 353this primary evaluates to true 354if any of the bits in 355.Ar flags 356is set in the file's flags bits, 357or any of the bits in 358.Ar notflags 359is not set in the file's flags bits. 360Otherwise, 361this primary evaluates to true 362if the bits in 363.Ar flags 364exactly match the file's flags bits, 365and none of the 366.Ar flags 367bits match those of 368.Ar notflags . 369.It Ic -fstype Ar type 370True if the file is contained in a file system of type 371.Ar type . 372The 373.Xr sysctl 8 374command can be used to find out the types of file systems 375that are available on the system: 376.Pp 377.Dl "sysctl vfs" 378.Pp 379In addition, there are two pseudo-types, 380.Dq Li local 381and 382.Dq Li rdonly . 383The former matches any file system physically mounted on the system where 384the 385.Nm 386is being executed and the latter matches any file system which is 387mounted read-only. 388.It Ic -group Ar gname 389True if the file belongs to the group 390.Ar gname . 391If 392.Ar gname 393is numeric and there is no such group name, then 394.Ar gname 395is treated as a group ID. 396.It Ic -iname Ar pattern 397Like 398.Ic -name , 399but the match is case insensitive. 400.It Ic -inum Ar n 401True if the file has inode number 402.Ar n . 403.It Ic -ipath Ar pattern 404Like 405.Ic -path , 406but the match is case insensitive. 407.It Ic -iregex Ar pattern 408Like 409.Ic -regex , 410but the match is case insensitive. 411.It Ic -links Ar n 412True if the file has 413.Ar n 414links. 415.It Ic -ls 416This primary always evaluates to true. 417The following information for the current file is written to standard output: 418its inode number, size in 512\-byte blocks, file permissions, number of hard 419links, owner, group, size in bytes, last modification time, and pathname. 420If the file is a block or character special file, the major and minor numbers 421will be displayed instead of the size in bytes. 422If the file is a symbolic link, the pathname of the linked\-to file will be 423displayed preceded by 424.Dq Li -> . 425The format is identical to that produced by 426.Bk -words 427.Nm ls Fl dgils . 428.Ek 429.It Ic -maxdepth Ar n 430True if the depth of the current file into the tree is less than or equal to 431.Ar n . 432.It Ic -mindepth Ar n 433True if the depth of the current file into the tree is greater than or equal to 434.Ar n . 435.It Ic -mmin Ar n 436True if the difference between the file last modification time and the time 437.Nm 438was started, rounded up to the next full minute, is 439.Ar n 440minutes. 441.It Ic -mnewer Ar file 442Same as 443.Ic -newer . 444.It Ic -mtime Ar n Ns Op Cm smhdw 445If no units are specified, this primary evaluates to 446true if the difference between the file last modification time and the time 447.Nm 448was started, rounded up to the next full 24\-hour period, is 449.Ar n 45024\-hour periods. 451.Pp 452If units are specified, this primary evaluates to 453true if the difference between the file last modification time and the time 454.Nm 455was started is exactly 456.Ar n 457units. 458Please refer to the 459.Ic -atime 460primary description for information on supported time units. 461.It Ic -name Ar pattern 462True if the last component of the pathname being examined matches 463.Ar pattern . 464Special shell pattern matching characters 465.Dq ( Li \&[ , 466.Dq Li \&] , 467.Dq Li * , 468and 469.Dq Li \&? ) 470may be used as part of 471.Ar pattern . 472These characters may be matched explicitly by escaping them with a 473backslash 474.Pq Dq Li \e . 475.It Ic -newer Ar file 476True if the current file has a more recent last modification time than 477.Ar file . 478.It Ic -newer Ns Ar X Ns Ar Y Ar file 479True if the current file has a more recent last access time 480.Ar ( X Ns = Ns Cm a ) , 481change time 482.Ar ( X Ns = Ns Cm c ) , 483or modification time 484.Ar ( X Ns = Ns Cm m ) 485than the last access time 486.Ar ( Y Ns = Ns Cm a ) , 487change time 488.Ar ( Y Ns = Ns Cm c ) , 489or modification time 490.Ar ( Y Ns = Ns Cm m ) 491of 492.Ar file . 493In addition, if 494.Ar Y Ns = Ns Cm t , 495then 496.Ar file 497is instead interpreted as a direct date specification of the form 498understood by 499.Xr cvs 1 . 500Note that 501.Ic -newermm 502is equivalent to 503.Ic -newer . 504.It Ic -nogroup 505True if the file belongs to an unknown group. 506.It Ic -nouser 507True if the file belongs to an unknown user. 508.It Ic -ok Ar utility Oo Ar argument ... Oc Li \&; 509The 510.Ic -ok 511primary is identical to the 512.Ic -exec 513primary with the exception that 514.Nm 515requests user affirmation for the execution of the 516.Ar utility 517by printing 518a message to the terminal and reading a response. 519If the response is other than 520.Dq Li y 521the command is not executed and the 522value of the 523.Ic -ok 524expression is false. 525.It Ic -okdir Ar utility Oo Ar argument ... Oc Li \&; 526The 527.Ic -okdir 528primary is identical to the 529.Ic -execdir 530primary with the same exception as described for the 531.Ic -ok 532primary. 533.It Ic -path Ar pattern 534True if the pathname being examined matches 535.Ar pattern . 536Special shell pattern matching characters 537.Dq ( Li \&[ , 538.Dq Li \&] , 539.Dq Li * , 540and 541.Dq Li \&? ) 542may be used as part of 543.Ar pattern . 544These characters may be matched explicitly by escaping them with a 545backslash 546.Pq Dq Li \e . 547Slashes 548.Pq Dq Li / 549are treated as normal characters and do not have to be 550matched explicitly. 551.It Ic -perm Oo Cm - Ns | Ns Cm + Oc Ns Ar mode 552The 553.Ar mode 554may be either symbolic (see 555.Xr chmod 1 ) 556or an octal number. 557If the 558.Ar mode 559is symbolic, a starting value of zero is assumed and the 560.Ar mode 561sets or clears permissions without regard to the process' file mode 562creation mask. 563If the 564.Ar mode 565is octal, only bits 07777 566.Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO 567of the file's mode bits participate 568in the comparison. 569If the 570.Ar mode 571is preceded by a dash 572.Pq Dq Li - , 573this primary evaluates to true 574if at least all of the bits in the 575.Ar mode 576are set in the file's mode bits. 577If the 578.Ar mode 579is preceded by a plus 580.Pq Dq Li + , 581this primary evaluates to true 582if any of the bits in the 583.Ar mode 584are set in the file's mode bits. 585Otherwise, this primary evaluates to true if 586the bits in the 587.Ar mode 588exactly match the file's mode bits. 589Note, the first character of a symbolic mode may not be a dash 590.Pq Dq Li - . 591.It Ic -print 592This primary always evaluates to true. 593It prints the pathname of the current file to standard output. 594If none of 595.Ic -exec , -ls , -print0 , 596or 597.Ic -ok 598is specified, the given expression shall be effectively replaced by 599.Cm \&( Ar "given expression" Cm \&) Ic -print . 600.It Ic -print0 601This primary always evaluates to true. 602It prints the pathname of the current file to standard output, followed by an 603.Tn ASCII NUL 604character (character code 0). 605.It Ic -prune 606This primary always evaluates to true. 607It causes 608.Nm 609to not descend into the current file. 610Note, the 611.Ic -prune 612primary has no effect if the 613.Fl d 614option was specified. 615.It Ic -regex Ar pattern 616True if the whole path of the file matches 617.Ar pattern 618using regular expression. 619To match a file named 620.Dq Pa ./foo/xyzzy , 621you can use the regular expression 622.Dq Li ".*/[xyz]*" 623or 624.Dq Li ".*/foo/.*" , 625but not 626.Dq Li xyzzy 627or 628.Dq Li /foo/ . 629.It Ic -size Ar n Ns Op Cm c 630True if the file's size, rounded up, in 512\-byte blocks is 631.Ar n . 632If 633.Ar n 634is followed by a 635.Cm c , 636then the primary is true if the 637file's size is 638.Ar n 639bytes (characters). 640.It Ic -type Ar t 641True if the file is of the specified type. 642Possible file types are as follows: 643.Pp 644.Bl -tag -width indent -compact 645.It Cm b 646block special 647.It Cm c 648character special 649.It Cm d 650directory 651.It Cm f 652regular file 653.It Cm l 654symbolic link 655.It Cm p 656FIFO 657.It Cm s 658socket 659.El 660.It Ic -user Ar uname 661True if the file belongs to the user 662.Ar uname . 663If 664.Ar uname 665is numeric and there is no such user name, then 666.Ar uname 667is treated as a user ID. 668.El 669.Pp 670All primaries which take a numeric argument allow the number to be 671preceded by a plus sign 672.Pq Dq Li + 673or a minus sign 674.Pq Dq Li - . 675A preceding plus sign means 676.Dq more than n , 677a preceding minus sign means 678.Dq less than n 679and neither means 680.Dq exactly n . 681.Sh OPERATORS 682The primaries may be combined using the following operators. 683The operators are listed in order of decreasing precedence. 684.Pp 685.Bl -tag -width "( expression )" -compact 686.It Cm \&( Ar expression Cm \&) 687This evaluates to true if the parenthesized expression evaluates to 688true. 689.Pp 690.It Cm \&! Ar expression 691.It Cm -false Ar expression 692.It Cm -not Ar expression 693This is the unary 694.Tn NOT 695operator. 696It evaluates to true if the expression is false. 697.Pp 698.It Ar expression Cm -and Ar expression 699.It Ar expression expression 700The 701.Cm -and 702operator is the logical 703.Tn AND 704operator. 705As it is implied by the juxtaposition of two expressions it does not 706have to be specified. 707The expression evaluates to true if both expressions are true. 708The second expression is not evaluated if the first expression is false. 709.Pp 710.It Ar expression Cm -or Ar expression 711The 712.Cm -or 713operator is the logical 714.Tn OR 715operator. 716The expression evaluates to true if either the first or the second expression 717is true. 718The second expression is not evaluated if the first expression is true. 719.El 720.Pp 721All operands and primaries must be separate arguments to 722.Nm . 723Primaries which themselves take arguments expect each argument 724to be a separate argument to 725.Nm . 726.Sh EXAMPLES 727The following examples are shown as given to the shell: 728.Bl -tag -width indent 729.It Li "find / \e! -name \*q*.c\*q -print" 730Print out a list of all the files whose names do not end in 731.Pa .c . 732.It Li "find / -newer ttt -user wnj -print" 733Print out a list of all the files owned by user 734.Dq wnj 735that are newer 736than the file 737.Pa ttt . 738.It Li "find / \e! \e( -newer ttt -user wnj \e) -print" 739Print out a list of all the files which are not both newer than 740.Pa ttt 741and owned by 742.Dq wnj . 743.It Li "find / \e( -newer ttt -or -user wnj \e) -print" 744Print out a list of all the files that are either owned by 745.Dq wnj 746or that are newer than 747.Pa ttt . 748.It Li "find / -newerct '1 minute ago' -print" 749Print out a list of all the files whose inode change time is more 750recent than the current time minus one minute. 751.It Li "find / -type f -exec echo {} \e\;" 752Use the 753.Xr echo 1 754command to print out a list of all the files. 755.El 756.Sh COMPATIBILITY 757The 758.Ic -follow 759primary is deprecated; the 760.Fl L 761option should be used instead. 762See the 763.Sx STANDARDS 764section below for details. 765.Sh SEE ALSO 766.Xr chflags 1 , 767.Xr chmod 1 , 768.Xr cvs 1 , 769.Xr locate 1 , 770.Xr whereis 1 , 771.Xr which 1 , 772.Xr xargs 1 , 773.Xr stat 2 , 774.Xr acl 3 , 775.Xr fts 3 , 776.Xr getgrent 3 , 777.Xr getpwent 3 , 778.Xr strmode 3 , 779.Xr re_format 7 , 780.Xr symlink 7 781.Sh STANDARDS 782The 783.Nm 784utility syntax is a superset of the syntax specified by the 785.St -p1003.2 786standard. 787.Pp 788All the single character options as well as the 789.Ic -iname , -inum , -iregex , -print0 , -delete , -ls , 790and 791.Ic -regex 792primaries are extensions to 793.St -p1003.2 . 794.Pp 795Historically, the 796.Fl d , L 797and 798.Fl x 799options were implemented using the primaries 800.Ic -depth , -follow , 801and 802.Ic -xdev . 803These primaries always evaluated to true. 804As they were really global variables that took effect before the traversal 805began, some legal expressions could have unexpected results. 806An example is the expression 807.Ic -print Cm -o Ic -depth . 808As 809.Ic -print 810always evaluates to true, the standard order of evaluation 811implies that 812.Ic -depth 813would never be evaluated. 814This is not the case. 815.Pp 816The operator 817.Cm -or 818was implemented as 819.Cm -o , 820and the operator 821.Cm -and 822was implemented as 823.Cm -a . 824.Pp 825Historic implementations of the 826.Ic -exec 827and 828.Ic -ok 829primaries did not replace the string 830.Dq Li {} 831in the utility name or the 832utility arguments if it had preceding or following non-whitespace characters. 833This version replaces it no matter where in the utility name or arguments 834it appears. 835.Pp 836The 837.Fl E 838option was inspired by the equivalent 839.Xr grep 1 840and 841.Xr sed 1 842options. 843.Sh BUGS 844The special characters used by 845.Nm 846are also special characters to many shell programs. 847In particular, the characters 848.Dq Li * , 849.Dq Li \&[ , 850.Dq Li \&] , 851.Dq Li \&? , 852.Dq Li \&( , 853.Dq Li \&) , 854.Dq Li \&! , 855.Dq Li \e 856and 857.Dq Li \&; 858may have to be escaped from the shell. 859.Pp 860As there is no delimiter separating options and file names or file 861names and the 862.Ar expression , 863it is difficult to specify files named 864.Pa -xdev 865or 866.Pa \&! . 867These problems are handled by the 868.Fl f 869option and the 870.Xr getopt 3 871.Dq Fl Fl 872construct. 873.Pp 874The 875.Ic -delete 876primary does not interact well with other options that cause the file system 877tree traversal options to be changed. 878.Sh HISTORY 879A 880.Nm 881command appeared in 882.At v1 . 883