find.1 (3533B)
1 .Dd October 8, 2015 2 .Dt FIND 1 3 .Os sbase 4 .Sh NAME 5 .Nm find 6 .Nd find files 7 .Sh SYNOPSIS 8 .Nm 9 .Op Fl H | L 10 .Ar path Op ... 11 .Op Ar expression 12 .Sh DESCRIPTION 13 .Nm 14 walks a file hierarchy starting at each 15 .Ar path 16 and applies the 17 .Ar expression 18 to each file encountered. 19 .Sh OPTIONS 20 .Bl -tag -width Ds 21 .It Fl H 22 Dereference symbolic links provided as 23 .Ar path . 24 .It Fl L 25 Dereference all symbolic links encountered. 26 .El 27 .Sh EXTENDED DESCRIPTION 28 .Ar expression 29 is a combination of the following primaries and boolean operators. 30 In the following descriptions the number n can be replaced by +n, n, or 31 -n, to mean more than, exactly, or less than n respectively. 32 .Ss Primaries 33 .Bl -tag -width Ds 34 .It Fl name Ar pattern 35 True if the name of the file matches the given pattern. 36 .It Fl path Ar pattern 37 True if the path to the file matches the given pattern. 38 .It Fl nouser 39 True if the file belongs to a user for which getpwuid() returns NULL. 40 .It Fl nogroup 41 True if the file belongs to a group for which getgrgid() returns NULL. 42 .It Fl xdev 43 True. 44 Do not enter directory on a different device. 45 .It Fl prune 46 True. 47 Do not enter directory. 48 .It Fl perm Ar mode 49 True if permissions on the file match mode. 50 Mode is a symbolic mode as used in chmod. 51 A leading '-' in mode checks that at least all bits in mode are set in 52 permissions for file. 53 Without the leading '-' the permissions for file must exactly match 54 mode. 55 .It Fl type Ar t 56 True if file is of type specified by 57 .Ar t . 58 .Bl -tag -width Ds 59 .It Ar b 60 block special 61 .It Ar c 62 character special 63 .It Ar d 64 directory 65 .It Ar l 66 symbolic link 67 .It Ar p 68 FIFO 69 .It Ar f 70 regular file 71 .It Ar s 72 socket 73 .El 74 .It Fl links Ar n 75 True if file has 76 .Ar n 77 links. 78 .It Fl user Ar name 79 True if file belongs to user 80 .Ar name . 81 .It Fl group Ar name 82 True if file belongs to group 83 .Ar name . 84 .It Fl size Ar n[c] 85 True if file size in 512 byte sectors (rounded up), or bytes (if 86 .Ar c 87 is given), is 88 .Ar n . 89 .It Fl atime n 90 True if file access time is 91 .Ar n 92 days. 93 .It Fl ctime 94 True if file status change time is 95 .Ar n 96 days. 97 .It Fl mtime 98 True if file modified time is 99 .Ar n 100 days. 101 .It Fl exec Ar cmd [arg ...] \&; 102 Execute cmd with given arguments, replacing each {} in argument list 103 with the current file. 104 True if cmd exits with status 0. 105 .It Fl exec Ar cmd [arg ...] {} + 106 True. 107 Add as many files as possible to argument list and execute when the list 108 is full or all files have been found. 109 .It Fl ok Ar cmd [arg ...] \&; 110 Prompt the user on each file encountered whether or not to execute cmd 111 as with -exec. 112 True if the user responds yes and cmd exits with status 0, false 113 otherwise. 114 .It Fl print 115 True. 116 Print the path to the current file. 117 .It Fl newer Ar file 118 True if the modification time of the current file is newer than that of 119 the provided file. 120 .It Fl depth 121 True. 122 Causes find to evaluate files within in a directory before the directory 123 itself. 124 .El 125 .Ss Operators 126 In order of decreasing precedence 127 .Bl -tag -width Ds 128 .It Ar \&( expression \&) 129 True if expression is true. 130 .It Ar \&! expression 131 True if expression if false. 132 .It Ar expression [ Fl a ] Ar expression 133 True if both expressions are true. 134 Second expression is not evaluated if first expression is false. 135 .Fl a 136 is implied if there is no operator between primaries. 137 .It Ar expression Fl o Ar expression 138 True if either expression is true. 139 Second expression is not evaluated if first expression is true. 140 .El 141 .Pp 142 If no expression is supplied, -print is used. 143 If an expression is supplied but none of -print, -exec, or -ok is 144 supplied, then -a -print is appended to the expressions.