Un outil pour savoir si une commande est posix - retour accueil
git clone git://bebou.netlib.re/isposix
Log | Files | Refs | README |
find.html (46652B)
1 <!-- Copyright 2001-2024 IEEE and The Open Group, All Rights Reserved --> 2 <!DOCTYPE HTML> 3 <html lang="en"> 4 <head> 5 <meta name="generator" content="HTML Tidy for HTML5 for Linux version 5.8.0"> 6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 7 <link type="text/css" rel="stylesheet" href="style.css"><!-- Generated by The Open Group rhtm tool v1.2.4 --> 8 <!-- Copyright (c) 2001-2024 The Open Group, All Rights Reserved --> 9 <title>find</title> 10 </head> 11 <body bgcolor="white"> 12 <div class="NAVHEADER"> 13 <table summary="Header navigation table" class="nav" width="100%" border="0" cellpadding="0" cellspacing="0"> 14 <tr class="nav"> 15 <td class="nav" width="15%" align="left" valign="bottom"><a href="../utilities/file.html" accesskey="P"><<< 16 Previous</a></td> 17 <td class="nav" width="70%" align="center" valign="bottom"><a href="contents.html">Home</a></td> 18 <td class="nav" width="15%" align="right" valign="bottom"><a href="../utilities/fold.html" accesskey="N">Next >>></a></td> 19 </tr> 20 </table> 21 <hr align="left" width="100%"></div> 22 <script language="JavaScript" src="../jscript/codes.js"></script><basefont size="3"> 23 <center><font size="2">The Open Group Base Specifications Issue 8<br> 24 IEEE Std 1003.1-2024<br> 25 Copyright © 2001-2024 The IEEE and The Open Group</font></center> 26 <hr size="2" noshade> 27 <a name="top" id="top"></a> <a name="find" id="find"></a> <a name="tag_20_47" id="tag_20_47"></a><!-- find --> 28 <h4 class="mansect"><a name="tag_20_47_01" id="tag_20_47_01"></a>NAME</h4> 29 <blockquote>find — find files</blockquote> 30 <h4 class="mansect"><a name="tag_20_47_02" id="tag_20_47_02"></a>SYNOPSIS</h4> 31 <blockquote class="synopsis"> 32 <p><code><tt>find</tt> <b>[</b><tt>-H|-L</tt><b>]</b> <i>path</i><tt>...</tt> <b>[</b><i>operand_expression</i><tt>...</tt><b>]</b></code></p> 33 </blockquote> 34 <h4 class="mansect"><a name="tag_20_47_03" id="tag_20_47_03"></a>DESCRIPTION</h4> 35 <blockquote> 36 <p>The <i>find</i> utility shall recursively descend the directory hierarchy from each file specified by <i>path</i>, evaluating a 37 Boolean expression composed of the primaries described in the OPERANDS section for each file encountered. Each <i>path</i> operand 38 shall be evaluated unaltered as it was provided, including all trailing <slash> characters; all pathnames for other files 39 encountered in the hierarchy shall consist of the concatenation of the current <i>path</i> operand, a <slash> if the current 40 <i>path</i> operand did not end in one, and the filename relative to the <i>path</i> operand. The relative portion shall contain no 41 dot or dot-dot components, no trailing <slash> characters, and only single <slash> characters between pathname 42 components.</p> 43 <p>The <i>find</i> utility shall be able to descend to arbitrary depths in a file hierarchy and shall not fail due to path length 44 limitations (unless a <i>path</i> operand specified by the application exceeds {PATH_MAX} requirements).</p> 45 <p>The <i>find</i> utility shall detect infinite loops; that is, entering a previously visited directory that is an ancestor of the 46 last file encountered. When it detects an infinite loop, <i>find</i> shall write a diagnostic message to standard error and shall 47 either recover its position in the hierarchy or terminate. In either case, the final exit status shall be non-zero.</p> 48 <p>If a file is removed from or added to the directory hierarchy being searched it is unspecified whether or not <i>find</i> 49 includes that file in its search.</p> 50 </blockquote> 51 <h4 class="mansect"><a name="tag_20_47_04" id="tag_20_47_04"></a>OPTIONS</h4> 52 <blockquote> 53 <p>The <i>find</i> utility shall conform to XBD <a href="../basedefs/V1_chap12.html#tag_12_02"><i>12.2 Utility Syntax 54 Guidelines</i></a> .</p> 55 <p>The following options shall be supported by the implementation:</p> 56 <dl compact> 57 <dd></dd> 58 <dt><b>-H</b></dt> 59 <dd>Cause the file information and file type evaluated for each symbolic link encountered as a <i>path</i> operand on the command 60 line to be those of the file referenced by the link, and not the link itself. If the referenced file does not exist, the file 61 information and type shall be for the link itself. File information and type for symbolic links encountered during the traversal of 62 a file hierarchy shall be that of the link itself.</dd> 63 <dt><b>-L</b></dt> 64 <dd>Cause the file information and file type evaluated for each symbolic link encountered as a <i>path</i> operand on the command 65 line or encountered during the traversal of a file hierarchy to be those of the file referenced by the link, and not the link 66 itself. If the referenced file does not exist, the file information and type shall be for the link itself.</dd> 67 </dl> 68 <p>Specifying more than one of the mutually-exclusive options <b>-H</b> and <b>-L</b> shall not be considered an error. The last 69 option specified shall determine the behavior of the utility. If neither the <b>-H</b> nor the <b>-L</b> option is specified, then 70 the file information and type for symbolic links encountered as a <i>path</i> operand on the command line or encountered during the 71 traversal of a file hierarchy shall be that of the link itself.</p> 72 </blockquote> 73 <h4 class="mansect"><a name="tag_20_47_05" id="tag_20_47_05"></a>OPERANDS</h4> 74 <blockquote> 75 <p>The following operands shall be supported:</p> 76 <p>The first operand and subsequent operands up to but not including the first operand that starts with a <tt>'-'</tt>, or is a 77 <tt>'!'</tt> or a <tt>'('</tt>, shall be interpreted as <i>path</i> operands. If the first operand starts with a <tt>'-'</tt>, or 78 is a <tt>'!'</tt> or a <tt>'('</tt>, the behavior is unspecified. Each <i>path</i> operand is a pathname of a starting point in the 79 file hierarchy.</p> 80 <p>The first operand that starts with a <tt>'-'</tt>, or is a <tt>'!'</tt> or a <tt>'('</tt>, and all subsequent arguments shall be 81 interpreted as an <i>expression</i> made up of the following primaries and operators. In the descriptions, wherever <i>n</i> is 82 used as a primary argument, it shall be interpreted as a decimal integer optionally preceded by a <plus-sign> (<tt>'+'</tt>) 83 or <hyphen-minus> (<tt>'-'</tt>), as follows:</p> 84 <dl compact> 85 <dd></dd> 86 <dt>+<i>n</i></dt> 87 <dd>More than <i>n</i>.</dd> 88 <dt><i>n</i></dt> 89 <dd>Exactly <i>n</i>.</dd> 90 <dt>-<i>n</i></dt> 91 <dd>Less than <i>n</i>.</dd> 92 </dl> 93 <p>The following primaries shall be supported:</p> 94 <dl compact> 95 <dd></dd> 96 <dt><b>-name </b><i>pattern</i></dt> 97 <dd><br> 98 The primary shall evaluate as true if the basename of the current pathname matches <i>pattern</i> using the pattern matching 99 notation described in <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14 Pattern Matching Notation</i></a> . The additional 100 rules in <a href="../utilities/V3_chap02.html#tag_19_14_03"><i>2.14.3 Patterns Used for Filename Expansion</i></a> do not apply as 101 this is a matching operation, not an expansion.</dd> 102 <dt><b>-iname </b><i>pattern</i></dt> 103 <dd><br> 104 The <b>-iname</b> primary shall be equivalent to <b>-name</b>, except that the match shall be case insensitive. See XBD <a href= 105 "../basedefs/V1_chap04.html#tag_04_01"><i>4.1 Case Insensitive Comparisons</i></a> .</dd> 106 <dt><b>-path </b><i>pattern</i></dt> 107 <dd><br> 108 The primary shall evaluate as true if the current pathname matches <i>pattern</i> using the pattern matching notation described in 109 <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14 Pattern Matching Notation</i></a> . The additional rules in <a href= 110 "../utilities/V3_chap02.html#tag_19_14_03"><i>2.14.3 Patterns Used for Filename Expansion</i></a> do not apply as this is a 111 matching operation, not an expansion.</dd> 112 <dt><b>-nouser</b></dt> 113 <dd>The primary shall evaluate as true if the file belongs to a user ID for which the <a href= 114 "../functions/getpwuid.html"><i>getpwuid</i>()</a> function defined in the System Interfaces volume of POSIX.1-2024 (or equivalent) 115 returns NULL.</dd> 116 <dt><b>-nogroup</b></dt> 117 <dd>The primary shall evaluate as true if the file belongs to a group ID for which the <a href= 118 "../functions/getgrgid.html"><i>getgrgid</i>()</a> function defined in the System Interfaces volume of POSIX.1-2024 (or equivalent) 119 returns NULL.</dd> 120 <dt><b>-mount</b></dt> 121 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> to act only on files that have the same device ID 122 (<i>st_dev</i>, see XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> ) as the <i>path</i> operand below which they are 123 encountered and cause <i>find</i> not to descend below directories that have a different device ID than that <i>path</i> operand. 124 If any <b>-mount</b> primary is specified, it shall apply to the entire expression even if the <b>-mount</b> primary would not 125 normally be evaluated.</dd> 126 <dt><b>-xdev</b></dt> 127 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> not to descend below directories that have a different 128 device ID (<i>st_dev</i>, see XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> ) than the <i>path</i> operand below 129 which they are encountered; that is, when a directory with a different device ID is encountered, <i>find</i> shall act on the 130 directory itself (unless <b>-mount</b> is specified) but shall not act on any files below the directory. If any <b>-xdev</b> 131 primary is specified, it shall apply to the entire expression even if the <b>-xdev</b> primary would not normally be 132 evaluated.</dd> 133 <dt><b>-prune</b></dt> 134 <dd>The primary shall always evaluate as true; it shall cause <i>find</i> not to descend the current pathname if it is a directory. 135 If the <b>-depth</b> primary is specified, the <b>-prune</b> primary shall have no effect.</dd> 136 <dt><b>-perm [-]</b><i>mode</i></dt> 137 <dd><br> 138 The <i>mode</i> argument is used to represent file mode bits. It shall be processed in an identical manner to the 139 <i>symbolic_mode</i> operand described in <a href="../utilities/chmod.html"><i>chmod</i></a>, except that: 140 <ol> 141 <li> 142 <p>The changes to file mode bits shall be applied to a template instead of to any files. The template shall initially have all file 143 mode bits cleared.</p> 144 </li> 145 <li> 146 <p>The <i>op</i> symbol <tt>'-'</tt> cannot be the first character of <i>mode</i>; this avoids ambiguity with the optional leading 147 <hyphen-minus>. Since the initial mode is all bits off, there are not any symbolic modes that need to use <tt>'-'</tt> as the 148 first character.</p> 149 </li> 150 </ol> 151 <p>If the <hyphen-minus> is omitted, the primary shall evaluate as true when the file permission bits exactly match the value 152 of the resulting template.</p> 153 <p>Otherwise, if <i>mode</i> is prefixed by a <hyphen-minus>, the primary shall evaluate as true if at least all the bits in 154 the resulting template are set in the file permission bits.</p> 155 </dd> 156 <dt><b>-perm [-]</b><i>onum</i></dt> 157 <dd><br> 158 If the <hyphen-minus> is omitted, the primary shall evaluate as true when the file mode bits exactly match the value of the 159 octal number <i>onum</i> (see the description of the octal <i>mode</i> in <a href="../utilities/chmod.html"><i>chmod</i></a>). 160 Otherwise, if <i>onum</i> is prefixed by a <hyphen-minus>, the primary shall evaluate as true if at least all of the bits 161 specified in <i>onum</i> are set. In both cases, the behavior is unspecified when <i>onum</i> exceeds 07777.</dd> 162 <dt><b>-type </b><i>c</i></dt> 163 <dd>The primary shall evaluate as true if the type of the file is <i>c</i>, where <i>c</i> is <tt>'b'</tt>, <tt>'c'</tt>, 164 <tt>'d'</tt>, <tt>'l'</tt>, <tt>'p'</tt>, <tt>'f'</tt>, or <tt>'s'</tt> for block special file, character special file, directory, 165 symbolic link, FIFO, regular file, or socket, respectively.</dd> 166 <dt><b>-links </b><i>n</i></dt> 167 <dd>The primary shall evaluate as true if the file has <i>n</i> links.</dd> 168 <dt><b>-user </b><i>uname</i></dt> 169 <dd>The primary shall evaluate as true if the file belongs to the user <i>uname.</i> If <i>uname</i> is a decimal integer and the 170 <a href="../functions/getpwnam.html"><i>getpwnam</i>()</a> (or equivalent) function does not return a valid user name, <i>uname</i> 171 shall be interpreted as a user ID.</dd> 172 <dt><b>-group </b><i>gname</i></dt> 173 <dd><br> 174 The primary shall evaluate as true if the file belongs to the group <i>gname</i>. If <i>gname</i> is a decimal integer and the 175 <a href="../functions/getgrnam.html"><i>getgrnam</i>()</a> (or equivalent) function does not return a valid group name, 176 <i>gname</i> shall be interpreted as a group ID.</dd> 177 <dt><b>-size </b><i>n</i><b>[c]</b></dt> 178 <dd>The primary shall evaluate as true if the file size in bytes, divided by 512 and rounded up to the next integer, is <i>n</i>. 179 If <i>n</i> is followed by the character <tt>'c'</tt>, the size shall be in bytes.</dd> 180 <dt><b>-atime </b><i>n</i></dt> 181 <dd>The primary shall evaluate as true if the file access time subtracted from the initialization time, divided by 86400 (with any 182 remainder discarded), is <i>n</i>.</dd> 183 <dt><b>-ctime </b><i>n</i></dt> 184 <dd>The primary shall evaluate as true if the time of last change of file status information subtracted from the initialization 185 time, divided by 86400 (with any remainder discarded), is <i>n</i>.</dd> 186 <dt><b>-mtime </b><i>n</i></dt> 187 <dd>The primary shall evaluate as true if the file modification time subtracted from the initialization time, divided by 86400 188 (with any remainder discarded), is <i>n</i>.</dd> 189 <dt><b>-exec </b><i>utility_name </i><b>[</b><i>argument</i> ...<b>] ;</b></dt> 190 <dd></dd> 191 <dt><b>-exec </b><i>utility_name </i><b>[</b><i>argument</i> ...<b>] </b>{} +</dt> 192 <dd><br> 193 The end of the primary expression shall be punctuated by a <semicolon> or by a <plus-sign>. Only a <plus-sign> 194 that immediately follows an argument containing only the two characters <tt>"{}"</tt> shall punctuate the end of the primary 195 expression. Other uses of the <plus-sign> shall not be treated as special. 196 <p>If the primary expression is punctuated by a <semicolon>, the utility <i>utility_name</i> shall be invoked once for each 197 pathname and the primary shall evaluate as true if the utility returns a zero value as exit status. A <i>utility_name</i> or 198 <i>argument</i> containing only the two characters <tt>"{}"</tt> shall be replaced by the current pathname. If a 199 <i>utility_name</i> or <i>argument</i> string contains the two characters <tt>"{}"</tt>, but not just the two characters 200 <tt>"{}"</tt>, it is implementation-defined whether <i>find</i> replaces those two characters or uses the string without 201 change.</p> 202 <p>If the primary expression is punctuated by a <plus-sign>, the primary shall always evaluate as true, and the pathnames for 203 which the primary is evaluated shall be aggregated into sets. The utility <i>utility_name</i> shall be invoked once for each set of 204 aggregated pathnames. Each invocation shall begin after the last pathname in the set is aggregated, and shall be completed before 205 the <i>find</i> utility exits and before the first pathname in the next set (if any) is aggregated for this primary, but it is 206 otherwise unspecified whether the invocation occurs before, during, or after the evaluations of other primaries. If any invocation 207 returns a non-zero value as exit status, the <i>find</i> utility shall return a non-zero exit status. An argument containing only 208 the two characters <tt>"{}"</tt> shall be replaced by the set of aggregated pathnames, with each pathname passed as a separate 209 argument to the invoked utility in the same order that it was aggregated. The size of any set of two or more pathnames shall be 210 limited such that execution of the utility does not cause the system's {ARG_MAX} limit to be exceeded. If more than one argument 211 containing the two characters <tt>"{}"</tt> is present, the behavior is unspecified.</p> 212 <p>The current directory for the invocation of <i>utility_name</i> shall be the same as the current directory when the <i>find</i> 213 utility was started. If the <i>utility_name</i> names any of the special built-in utilities (see <a href= 214 "../utilities/V3_chap02.html#tag_19_15"><i>2.15 Special Built-In Utilities</i></a> ), the results are undefined.</p> 215 </dd> 216 <dt><b>-ok </b><i>utility_name </i><b>[</b><i>argument</i> ...<b>] ;</b></dt> 217 <dd><br> 218 The <b>-ok</b> primary shall be equivalent to <b>-exec</b>, except that the use of a <plus-sign> to punctuate the end of the 219 primary expression need not be supported, and <i>find</i> shall request affirmation of the invocation of <i>utility_name</i> using 220 the current file as an argument by writing to standard error as described in the STDERR section. If the response on standard input 221 is affirmative, the utility shall be invoked. Otherwise, the command shall not be invoked and the value of the <b>-ok</b> operand 222 shall be false.</dd> 223 <dt><b>-print</b></dt> 224 <dd>The primary shall always evaluate as true; it shall cause the current pathname to be written to standard output, followed by a 225 <newline>.</dd> 226 <dt><b>-print0</b></dt> 227 <dd>The primary shall always evaluate as true; it shall cause the current pathname to be written to standard output, followed by a 228 null byte.</dd> 229 <dt><b>-newer </b><i>file</i></dt> 230 <dd>The primary shall evaluate as true if the modification time of the current file is more recent than the modification time of 231 the file named by the pathname <i>file</i>. If <i>file</i> names a symbolic link, the modification time used shall be that of the 232 file referenced by the symbolic link if either the <b>-H</b> or <b>-L</b> option is specified; if neither <b>-H</b> nor <b>-L</b> 233 is specified, it is unspecified whether the modification time is that of the symbolic link itself or of the file referenced by the 234 symbolic link. In either case, if the referenced file does not exist, the modification time used shall be that of the link itself. 235 If <i>file</i> is a relative pathname, it shall be resolved relative to the current working directory that was inherited by 236 <i>find</i> when it was invoked.</dd> 237 <dt><b>-depth</b></dt> 238 <dd>The primary shall always evaluate as true; it shall cause descent of the directory hierarchy to be done so that all entries in 239 a directory are acted on before the directory itself. If a <b>-depth</b> primary is not specified, all entries in a directory shall 240 be acted on after the directory itself. If any <b>-depth</b> primary is specified, it shall apply to the entire expression even if 241 the <b>-depth</b> primary would not normally be evaluated.</dd> 242 </dl> 243 <p>The primaries can be combined using the following operators (in order of decreasing precedence):</p> 244 <dl compact> 245 <dd></dd> 246 <dt>( <i>expression</i> )</dt> 247 <dd>True if <i>expression</i> is true.</dd> 248 <dt><b>! </b><i>expression</i></dt> 249 <dd>Negation of a primary; the unary NOT operator.</dd> 250 <dt><i>expression </i><b>[-a] </b><i>expression</i></dt> 251 <dd><br> 252 Conjunction of primaries; the AND operator is implied by the juxtaposition of two primaries or made explicit by the optional 253 <b>-a</b> operator. The second expression shall not be evaluated if the first expression is false.</dd> 254 <dt><i>expression </i><b>-o </b><i>expression</i></dt> 255 <dd><br> 256 Alternation of primaries; the OR operator. The second expression shall not be evaluated if the first expression is true.</dd> 257 </dl> 258 <p>If no <i>expression</i> is present, <b>-print</b> shall be used as the expression. Otherwise, if the given expression does not 259 contain any of the primaries <b>-exec</b>, <b>-ok</b>, or <b>-print</b>, the given expression shall be effectively replaced by:</p> 260 <pre> 261 <tt>( </tt><i>given_expression</i><tt> ) -print 262 </tt></pre> 263 <p>The <b>-user</b>, <b>-group</b>, and <b>-newer</b> primaries each shall evaluate their respective arguments only once.</p> 264 <p>When the file type evaluated for the current file is a symbolic link, the results of evaluating the <b>-perm</b> primary are 265 implementation-defined.</p> 266 </blockquote> 267 <h4 class="mansect"><a name="tag_20_47_06" id="tag_20_47_06"></a>STDIN</h4> 268 <blockquote> 269 <p>If the <b>-ok</b> primary is used, the response shall be read from the standard input. An entire line shall be read as the 270 response. Otherwise, the standard input shall not be used.</p> 271 </blockquote> 272 <h4 class="mansect"><a name="tag_20_47_07" id="tag_20_47_07"></a>INPUT FILES</h4> 273 <blockquote> 274 <p>None.</p> 275 </blockquote> 276 <h4 class="mansect"><a name="tag_20_47_08" id="tag_20_47_08"></a>ENVIRONMENT VARIABLES</h4> 277 <blockquote> 278 <p>The following environment variables shall affect the execution of <i>find</i>:</p> 279 <dl compact> 280 <dd></dd> 281 <dt><i>LANG</i></dt> 282 <dd>Provide a default value for the internationalization variables that are unset or null. (See XBD <a href= 283 "../basedefs/V1_chap08.html#tag_08_02"><i>8.2 Internationalization Variables</i></a> for the precedence of internationalization 284 variables used to determine the values of locale categories.)</dd> 285 <dt><i>LC_ALL</i></dt> 286 <dd>If set to a non-empty string value, override the values of all the other internationalization variables.</dd> 287 <dt><i>LC_COLLATE</i></dt> 288 <dd><br> 289 Determine the locale for the behavior of ranges, equivalence classes, and multi-character collating elements used in the pattern 290 matching notation for the <b>-name</b>, <b>-iname</b>, and <b>-path</b> primaries and in the extended regular expression defined 291 for the <b>yesexpr</b> locale keyword in the <i>LC_MESSAGES</i> category.</dd> 292 <dt><i>LC_CTYPE</i></dt> 293 <dd>This variable determines the locale for the interpretation of sequences of bytes of text data as characters (for example, 294 single-byte as opposed to multi-byte characters in arguments), the behavior of character classes within the pattern matching 295 notation used for the <b>-name</b>, <b>-iname</b>, and <b>-path</b> primaries, and the behavior of character classes within regular 296 expressions used in the extended regular expression defined for the <b>yesexpr</b> locale keyword in the <i>LC_MESSAGES</i> 297 category.</dd> 298 <dt><i>LC_MESSAGES</i></dt> 299 <dd><br> 300 Determine the locale used to process affirmative responses, and the locale used to affect the format and contents of diagnostic 301 messages and prompts written to standard error.</dd> 302 <dt><i>NLSPATH</i></dt> 303 <dd><sup>[<a href="javascript:open_code('XSI')">XSI</a>]</sup> <img src="../images/opt-start.gif" alt="[Option Start]" border="0"> 304 Determine the location of messages objects and message catalogs. <img src="../images/opt-end.gif" alt="[Option End]" border= 305 "0"></dd> 306 <dt><i>PATH</i></dt> 307 <dd>Determine the location of the <i>utility_name</i> for the <b>-exec</b> and <b>-ok</b> primaries, as described in XBD <a href= 308 "../basedefs/V1_chap08.html#tag_08"><i>8. Environment Variables</i></a> .</dd> 309 </dl> 310 </blockquote> 311 <h4 class="mansect"><a name="tag_20_47_09" id="tag_20_47_09"></a>ASYNCHRONOUS EVENTS</h4> 312 <blockquote> 313 <p>Default.</p> 314 </blockquote> 315 <h4 class="mansect"><a name="tag_20_47_10" id="tag_20_47_10"></a>STDOUT</h4> 316 <blockquote> 317 <p>The <b>-print</b> primary shall cause the current pathname to be written to standard output. The format shall be:</p> 318 <pre> 319 <tt>"%s\n", <</tt><i>path</i><tt>> 320 </tt></pre> 321 <p>The <b>-print0</b> primary shall cause the current pathname to be written to standard output, followed by a null byte.</p> 322 </blockquote> 323 <h4 class="mansect"><a name="tag_20_47_11" id="tag_20_47_11"></a>STDERR</h4> 324 <blockquote> 325 <p>The <b>-ok</b> primary shall write a prompt to standard error containing at least the <i>utility_name</i> to be invoked and the 326 current pathname. In the POSIX locale, the last non-<blank> in the prompt shall be <tt>'?'</tt>. The exact format used is 327 unspecified.</p> 328 <p>Otherwise, the standard error shall be used only for diagnostic messages.</p> 329 </blockquote> 330 <h4 class="mansect"><a name="tag_20_47_12" id="tag_20_47_12"></a>OUTPUT FILES</h4> 331 <blockquote> 332 <p>None.</p> 333 </blockquote> 334 <h4 class="mansect"><a name="tag_20_47_13" id="tag_20_47_13"></a>EXTENDED DESCRIPTION</h4> 335 <blockquote> 336 <p>None.</p> 337 </blockquote> 338 <h4 class="mansect"><a name="tag_20_47_14" id="tag_20_47_14"></a>EXIT STATUS</h4> 339 <blockquote> 340 <p>The following exit values shall be returned:</p> 341 <dl compact> 342 <dd></dd> 343 <dt> 0</dt> 344 <dd>All <i>path</i> operands were traversed successfully, the output (if any) specified in STDOUT was successfully written to 345 standard output, and all commands (if any) executed using the <b>-exec</b> primary punctuated by a <plus-sign> exited with 346 exit status 0.</dd> 347 <dt>>0</dt> 348 <dd>A command executed using the <b>-exec</b> primary punctuated by a <plus-sign> exited with non-zero status, or an error 349 occurred.</dd> 350 </dl> 351 </blockquote> 352 <h4 class="mansect"><a name="tag_20_47_15" id="tag_20_47_15"></a>CONSEQUENCES OF ERRORS</h4> 353 <blockquote> 354 <p>Default.</p> 355 </blockquote> 356 <hr> 357 <div class="box"><em>The following sections are informative.</em></div> 358 <h4 class="mansect"><a name="tag_20_47_16" id="tag_20_47_16"></a>APPLICATION USAGE</h4> 359 <blockquote> 360 <p>When used in operands, pattern matching notation, <semicolon>, <left-parenthesis>, and <right-parenthesis> 361 characters are special to the shell and must be quoted (see <a href="../utilities/V3_chap02.html#tag_19_02"><i>2.2 Quoting</i></a> 362 ).</p> 363 <p>When restricting the search to files on one file system, it can sometimes be desirable for the crossing points themselves to be 364 acted on and sometimes for them not to be acted on. (Crossing points are mount points and, if the <b>-L</b> option is specified, 365 symbolic links to directories on other file systems.) The <b>-xdev</b> primary acts on them and the <b>-mount</b> primary does not. 366 However, <b>-mount</b> also does not act on symbolic links to non-directory files on other file systems (if <b>-L</b> is 367 specified). If there is a need for an application to exclude crossing points but include symbolic links to non-directory files on 368 other file systems, this can be achieved by using two <i>find</i> commands as follows:</p> 369 <pre> 370 <tt>find -L dir -mount -type d -print 371 find -L dir -xdev ! -type d -print 372 </tt></pre> 373 <p>(in a subshell whose output is piped to <a href="../utilities/sort.html"><i>sort</i></a>, if the order matters).</p> 374 <p>If both <b>-mount</b> and <b>-xdev</b> are specified, <i>find</i> obeys both primaries but the end result is the same as if 375 <b>-xdev</b> were not specified.</p> 376 <p>The bit that is traditionally used for sticky (historically 01000) is specified in the <b>-perm</b> primary using the octal 377 number argument form. Since this bit is not defined by this volume of POSIX.1-2024, applications must not assume that it actually 378 refers to the traditional sticky bit.</p> 379 </blockquote> 380 <h4 class="mansect"><a name="tag_20_47_17" id="tag_20_47_17"></a>EXAMPLES</h4> 381 <blockquote> 382 <ol> 383 <li> 384 <p>The following commands are equivalent:</p> 385 <pre> 386 <tt>find . 387 find . -print 388 </tt></pre> 389 <p>They both write out the entire directory hierarchy from the current directory.</p> 390 <p>With this output format, if any pathnames include <newline> characters, it is not possible to tell where each pathname 391 begins and ends. This problem can be avoided by omitting such pathnames:</p> 392 <pre> 393 <tt>LC_ALL=POSIX find . -name $'*\n*' -prune -o -print 394 </tt></pre> 395 <p>or by using a sentinel in the pathname that <i>find</i> would never otherwise produce, such as:</p> 396 <pre> 397 <tt>find .//. -print 398 </tt></pre> 399 <p>or by using <b>-print0</b> instead of <b>-print</b> and processing the output with a utility that can accept null-terminated 400 pathnames as input, such as <a href="../utilities/xargs.html"><i>xargs</i></a> with the <b>-0</b> option or <a href= 401 "../utilities/read.html"><i>read</i></a> with <b>-d</b> <tt>""</tt>, for example:</p> 402 <pre> 403 <tt>find . -print0 | while IFS= read -rd "" file 404 do 405 # process "$file" 406 done 407 </tt></pre> 408 <p>It should be noted that using <i>find</i> with <b>-print0</b> to pipe input to <a href= 409 "../utilities/xargs.html"><i>xargs</i></a> <b>-r0</b> is less safe than using <i>find</i> with <b>-exec</b> because if <i>find</i> 410 <b>-print0</b> is terminated after it has written a partial pathname, the partial pathname may be processed as if it was a complete 411 pathname.</p> 412 </li> 413 <li> 414 <p>The following command:</p> 415 <pre> 416 <tt>find / \( -name tmp -o -name '*.xx' \) ! -type d -mtime +7 \ 417 -exec rm {} + 418 </tt></pre> 419 <p>removes all files named <b>tmp</b> or ending in <b>.xx</b> that have not been modified for more than seven (that is, eight or 420 more) 24-hour periods.</p> 421 </li> 422 <li> 423 <p>The following command:</p> 424 <pre> 425 <tt>find . -perm -o+w,+s 426 </tt></pre> 427 <p>prints (<b>-print</b> is assumed) the names of all files in or below the current directory, with all of the file permission bits 428 S_ISUID, S_ISGID, and S_IWOTH set, regardless of the value of the file creation mask. (Note that the file creation mask is only 429 specified for the file permission bits, and not S_ISUID, S_ISGID or S_ISVTX.)</p> 430 </li> 431 <li> 432 <p>The following command:</p> 433 <pre> 434 <tt>find . -perm -+w 435 </tt></pre> 436 <p>prints (<b>-print</b> is assumed) the names of all files in or below the current directory, with S_IWUSR set if the file 437 creation mask does not have S_IWUSR set (otherwise the S_IWUSR bit is ignored), S_IWGRP set if the file creation mask does not have 438 S_IWGRP set (otherwise S_IWGRP is ignored), and S_IWOTH set if the file creation mask does not have S_IWOTH set (otherwise S_IWOTH 439 is ignored).</p> 440 </li> 441 <li> 442 <p>The following command:</p> 443 <pre> 444 <tt>find . -name SCCS -prune -o -print 445 </tt></pre> 446 <p>recursively prints pathnames of all files in the current directory and below, but skips directories named SCCS and files in 447 them.</p> 448 </li> 449 <li> 450 <p>The following command:</p> 451 <pre> 452 <tt>find . -print -name SCCS -prune 453 </tt></pre> 454 <p>behaves as in the previous example, but prints the names of the SCCS directories.</p> 455 </li> 456 <li> 457 <p>The following command is roughly equivalent to the <b>-nt</b> extension to <a href="../utilities/test.html"><i>test</i></a>:</p> 458 <pre> 459 <tt>if [ -n "$(find file1 -prune -newer file2)" ]; then 460 printf %s\\n "file1 is newer than file2" 461 fi 462 </tt></pre></li> 463 <li> 464 <p>The descriptions of <b>-atime</b>, <b>-ctime</b>, and <b>-mtime</b> use the terminology <i>n</i> "86400 second periods 465 (days)". For example, a file accessed at 23:59 is selected by:</p> 466 <pre> 467 <tt>find . -atime -1 -print 468 </tt></pre> 469 <p>at 00:01 the next day (less than 24 hours later, not more than one day ago); the midnight boundary between days has no effect on 470 the 24-hour calculation.</p> 471 </li> 472 <li> 473 <p>The following command:</p> 474 <pre> 475 <tt>find . ! -name . -prune -name '*.old' -exec \ 476 sh -c 'mv "$@" ../old/' sh {} + 477 </tt></pre> 478 <p>performs the same task as:</p> 479 <pre> 480 <tt>mv ./*.old ./.old ./.*.old ../old/ 481 </tt></pre> 482 <p>while avoiding an "Argument list too long" error if there are a large number of files ending with <b>.old</b> and without 483 running <a href="../utilities/mv.html"><i>mv</i></a> if there are no such files (and avoiding "No such file or directory" errors 484 if <b>./.old</b> does not exist or no files match <b>./*.old</b> or <b>./.*.old</b>).</p> 485 <p>The alternative:</p> 486 <pre> 487 <tt>find . ! -name . -prune -name '*.old' -exec mv {} ../old/ \; 488 </tt></pre> 489 <p>is less efficient if there are many files to move because it executes one <a href="../utilities/mv.html"><i>mv</i></a> command 490 per file.</p> 491 </li> 492 <li> 493 <p>On systems configured to mount removable media on directories under <b>/media</b>, the following command searches the file 494 hierarchy for files of size larger than 100000 KiB without searching any mounted removable media:</p> 495 <pre> 496 <tt>find / -path /media -prune -o -size +200000 -print 497 </tt></pre></li> 498 <li> 499 <p>Except for the root directory, and <tt>"//"</tt> on implementations where <tt>"//"</tt> does not refer to the root directory, no 500 pattern given to <b>-name</b> will match a <slash>, because trailing <slash> characters are ignored when computing the 501 basename of the file under evaluation. Given two empty directories named <b>foo</b> and <b>bar</b>, the following command:</p> 502 <pre> 503 <tt>find foo/// bar/// -name foo -o -name 'bar?*' 504 </tt></pre> 505 <p>prints only the line <tt>"foo///"</tt>.</p> 506 </li> 507 </ol> 508 </blockquote> 509 <h4 class="mansect"><a name="tag_20_47_18" id="tag_20_47_18"></a>RATIONALE</h4> 510 <blockquote> 511 <p>The <b>-a</b> operator was retained as an optional operator for compatibility with historical shell scripts, even though it is 512 redundant with expression concatenation.</p> 513 <p>The descriptions of the <tt>'-'</tt> modifier on the <i>mode</i> and <i>onum</i> arguments to the <b>-perm</b> primary agree 514 with historical practice on BSD and System V implementations. System V and BSD documentation both describe it in terms of checking 515 additional bits; in fact, it uses the same bits, but checks for having at least all of the matching bits set instead of having 516 exactly the matching bits set.</p> 517 <p>The exact format of the interactive prompts is unspecified. Only the general nature of the contents of prompts are specified 518 because:</p> 519 <ul> 520 <li> 521 <p>Implementations may desire more descriptive prompts than those used on historical implementations.</p> 522 </li> 523 <li> 524 <p>Since the historical prompt strings do not terminate with <newline> characters, there is no portable way for another 525 program to interact with the prompts of this utility via pipes.</p> 526 </li> 527 </ul> 528 <p>Therefore, an application using this prompting option relies on the system to provide the most suitable dialog directly with the 529 user, based on the general guidelines specified.</p> 530 <p>The <b>-size</b> operand refers to the size of a file, rather than the number of blocks it may occupy in the file system. The 531 intent is that the <i>st_size</i> field defined in the System Interfaces volume of POSIX.1-2024 should be used, not the 532 <i>st_blocks</i> found in historical implementations. There are at least two reasons for this:</p> 533 <ol> 534 <li> 535 <p>In both System V and BSD, <i>find</i> only uses <i>st_size</i> in size calculations for the operands specified by this volume of 536 POSIX.1-2024. (BSD uses <i>st_blocks</i> only when processing the <b>-ls</b> primary.)</p> 537 </li> 538 <li> 539 <p>Users usually think of file size in terms of bytes, which is also the unit used by the <a href= 540 "../utilities/ls.html"><i>ls</i></a> utility for the output from the <b>-l</b> option. (In both System V and BSD, <a href= 541 "../utilities/ls.html"><i>ls</i></a> uses <i>st_size</i> for the <b>-l</b> option size field and uses <i>st_blocks</i> for the 542 <a href="../utilities/ls.html"><i>ls</i></a> <b>-s</b> calculations. This volume of POSIX.1-2024 does not specify <a href= 543 "../utilities/ls.html"><i>ls</i></a> <b>-s</b>.)</p> 544 </li> 545 </ol> 546 <p>The descriptions of <b>-atime</b>, <b>-ctime</b>, and <b>-mtime</b> were changed from the SVID description of <i>n</i> "days" 547 to <i>n</i> being the result of the integer division of the time difference in seconds by 86400. The description is also different 548 in terms of the exact timeframe for the <i>n</i> case (<i>versus</i> the <i>+n</i> or <i>-n</i>), but it matches all known 549 historical implementations. It refers to one 86400 second period in the past, not any time from the beginning of that period to the 550 current time. For example, <b>-atime</b> 2 is true if the file was accessed any time in the period from 72 hours to 48 hours 551 ago.</p> 552 <p>Historical implementations do not modify <tt>"{}"</tt> when it appears as a substring of an <b>-exec</b> or <b>-ok</b> 553 <i>utility_name</i> or argument string. There have been numerous user requests for this extension, so this volume of POSIX.1-2024 554 allows the desired behavior. At least one recent implementation does support this feature, but encountered several problems in 555 managing memory allocation and dealing with multiple occurrences of <tt>"{}"</tt> in a string while it was being developed, so it 556 is not yet required behavior.</p> 557 <p>Assuming the presence of <b>-print</b> was added to correct a historical pitfall that plagues novice users, it is entirely 558 upwards-compatible from the historical System V <i>find</i> utility. In its simplest form (<a href= 559 "../utilities/find.html"><i>find</i></a> <i>directory</i>), it could be confused with the historical BSD fast <i>find</i>. The BSD 560 developers agreed that adding <b>-print</b> as a default expression was the correct decision and have added the fast <i>find</i> 561 functionality within a new utility called <i>locate</i>.</p> 562 <p>Historically, the <b>-L</b> option was implemented using the primary <b>-follow</b>. The <b>-H</b> and <b>-L</b> options were 563 added for two reasons. First, they offer a finer granularity of control and consistency with other programs that walk file 564 hierarchies. Second, the <b>-follow</b> primary always evaluated to true. As they were historically really global variables that 565 took effect before the traversal began, some valid expressions had unexpected results. An example is the expression <b>-print</b> 566 <b>-o</b> <b>-follow</b>. Because <b>-print</b> always evaluates to true, the standard order of evaluation implies that 567 <b>-follow</b> would never be evaluated. This was never the case. Historical practice for the <b>-follow</b> primary, however, is 568 not consistent. Some implementations always follow symbolic links on the command line whether <b>-follow</b> is specified or not. 569 Others follow symbolic links on the command line only if <b>-follow</b> is specified. Both behaviors are provided by the <b>-H</b> 570 and <b>-L</b> options, but scripts using the current <b>-follow</b> primary would be broken if the <b>-follow</b> option is 571 specified to work either way.</p> 572 <p>Since the <b>-L</b> option resolves all symbolic links and the <b>-type</b> <i>l</i> primary is true for symbolic links that 573 still exist after symbolic links have been resolved, the command:</p> 574 <pre> 575 <tt>find -L . -type l 576 </tt></pre> 577 <p>prints a list of symbolic links reachable from the current directory that do not resolve to accessible files.</p> 578 <p>A feature of SVR4's <i>find</i> utility was the <b>-exec</b> primary's <b>+</b> terminator. This allowed filenames containing 579 special characters (especially <newline> characters) to be grouped together without the problems that occur if such filenames 580 are piped to <a href="../utilities/xargs.html"><i>xargs</i></a>.</p> 581 <p>The <tt>"-exec ... {} +"</tt> syntax adopted was a result of IEEE PASC Interpretation 1003.2 #210. It should be noted that this 582 is an incompatible change to IEEE Std 1003.2-1992. For example, the following command printed all files with a 583 <tt>'-'</tt> after their name if they are regular files, and a <tt>'+'</tt> otherwise:</p> 584 <pre> 585 <tt>find / -type f -exec echo {} - ';' -o -exec echo {} + ';' 586 </tt></pre> 587 <p>The change invalidates usage like this. Even though the previous standard stated that this usage would work, in practice many 588 did not support it and the standard developers felt it better to now state that this was not allowable.</p> 589 <p>Historically, many <i>find</i> implementations supported <b>-mount</b> and <b>-xdev</b> as synonymous primaries and earlier 590 versions of this standard only required support for <b>-xdev</b>. However, the behavior of <i>find</i> with <b>-xdev</b> differed 591 from that of the <a href="../functions/nftw.html"><i>nftw</i>()</a> function with FTW_MOUNT as regards whether the mount point 592 itself was included or excluded. Therefore the standard now requires support for both primaries with slightly differing behaviors: 593 <b>-mount</b> behaves in the manner of <a href="../functions/nftw.html"><i>nftw</i>()</a> with the traditional FTW_MOUNT flag, and 594 <b>-xdev</b> in the manner of <a href="../functions/nftw.html"><i>nftw</i>()</a> with a new FTW_XDEV flag.</p> 595 </blockquote> 596 <h4 class="mansect"><a name="tag_20_47_19" id="tag_20_47_19"></a>FUTURE DIRECTIONS</h4> 597 <blockquote> 598 <p>If this utility is directed to display a pathname that contains any bytes that have the encoded value of a <newline> 599 character when <newline> is a terminator or separator in the output format being used, implementations are encouraged to 600 treat this as an error. A future version of this standard may require implementations to treat this as an error.</p> 601 </blockquote> 602 <h4 class="mansect"><a name="tag_20_47_20" id="tag_20_47_20"></a>SEE ALSO</h4> 603 <blockquote> 604 <p><a href="../utilities/V3_chap02.html#tag_19_02"><i>2.2 Quoting</i></a> , <a href="../utilities/V3_chap02.html#tag_19_14"><i>2.14 605 Pattern Matching Notation</i></a> , <a href="../utilities/V3_chap02.html#tag_19_15"><i>2.15 Special Built-In Utilities</i></a> , 606 <a href="../utilities/chmod.html#tag_20_17"><i>chmod</i></a> , <a href="../utilities/mv.html#"><i>mv</i></a> , <a href= 607 "../utilities/pax.html#"><i>pax</i></a> , <a href="../utilities/sh.html#"><i>sh</i></a> , <a href= 608 "../utilities/test.html#"><i>test</i></a></p> 609 <p>XBD <a href="../basedefs/V1_chap08.html#tag_08"><i>8. Environment Variables</i></a> , <a href= 610 "../basedefs/V1_chap12.html#tag_12_02"><i>12.2 Utility Syntax Guidelines</i></a></p> 611 <p>XSH <a href="../functions/fstatat.html#"><i>fstatat</i></a> , <a href="../functions/getgrgid.html#"><i>getgrgid</i></a> , 612 <a href="../functions/getpwuid.html#"><i>getpwuid</i></a></p> 613 </blockquote> 614 <h4 class="mansect"><a name="tag_20_47_21" id="tag_20_47_21"></a>CHANGE HISTORY</h4> 615 <blockquote> 616 <p>First released in Issue 2.</p> 617 </blockquote> 618 <h4 class="mansect"><a name="tag_20_47_22" id="tag_20_47_22"></a>Issue 5</h4> 619 <blockquote> 620 <p>The FUTURE DIRECTIONS section is added.</p> 621 </blockquote> 622 <h4 class="mansect"><a name="tag_20_47_23" id="tag_20_47_23"></a>Issue 6</h4> 623 <blockquote> 624 <p>The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:</p> 625 <ul> 626 <li> 627 <p>The <b>-perm [-]</b><i>onum</i> primary is supported.</p> 628 </li> 629 </ul> 630 <p>The <i>find</i> utility is aligned with the IEEE P1003.2b draft standard, to include processing of symbolic links and 631 changes to the description of the <b>atime</b>, <b>ctime</b>, and <b>mtime</b> operands.</p> 632 <p>IEEE PASC Interpretation 1003.2 #210 is applied, extending the <b>-exec</b> operand.</p> 633 <p>IEEE Std 1003.1-2001/Cor 2-2004, item XCU/TC2/D6/13 is applied, updating the RATIONALE section to be consistent 634 with the normative text.</p> 635 </blockquote> 636 <h4 class="mansect"><a name="tag_20_47_24" id="tag_20_47_24"></a>Issue 7</h4> 637 <blockquote> 638 <p>Austin Group Interpretation 1003.1-2001 #126 is applied, changing the description of the <i>LC_MESSAGES</i> environment 639 variable.</p> 640 <p>Austin Group Interpretation 1003.1-2001 #127 is applied, rephrasing the description of the <b>-exec</b> primary to be 641 "immediately follows".</p> 642 <p>Austin Group Interpretation 1003.1-2001 #185 is applied, clarifying the requirements for the <b>-H</b> and <b>-L</b> 643 options.</p> 644 <p>Austin Group Interpretation 1003.1-2001 #186 is applied, clarifying the requirements for the evaluation of <i>path</i> 645 operands.</p> 646 <p>Austin Group Interpretation 1003.1-2001 #195 is applied, clarifying the interpretation of the first operand.</p> 647 <p>SD5-XCU-ERN-48 is applied, clarifying the <b>-L</b> option in the case that the referenced file does not exist.</p> 648 <p>SD5-XCU-ERN-89 is applied, updating the OPERANDS section.</p> 649 <p>SD5-XCU-ERN-97 is applied, updating the SYNOPSIS.</p> 650 <p>SD5-XCU-ERN-117 is applied, clarifying the <b>-perm</b> operand.</p> 651 <p>SD5-XCU-ERN-122 is applied, adding a new EXAMPLE.</p> 652 <p>The description of the <b>-name</b> primary is revised and the <b>-path</b> primary is added (with a new example).</p> 653 <p>POSIX.1-2008, Technical Corrigendum 1, XCU/TC1-2008/0086 [365], XCU/TC1-2008/0087 [310], XCU/TC1-2008/0088 [309,310,430], 654 XCU/TC1-2008/0089 [235], and XCU/TC1-2008/0090 [445] are applied.</p> 655 <p>POSIX.1-2008, Technical Corrigendum 2, XCU/TC2-2008/0099 [584], XCU/TC2-2008/0100 [584], and XCU/TC2-2008/0101 [584] are 656 applied.</p> 657 </blockquote> 658 <h4 class="mansect"><a name="tag_20_47_25" id="tag_20_47_25"></a>Issue 8</h4> 659 <blockquote> 660 <p>Austin Group Defect 243 is applied, adding the <b>-print0</b> primary.</p> 661 <p>Austin Group Defect 251 is applied, encouraging implementations to report an error if a utility is directed to display a 662 pathname that contains any bytes that have the encoded value of a <newline> character when <newline> is a terminator or 663 separator in the output format being used.</p> 664 <p>Austin Group Defect 1031 is applied, adding the <b>-iname</b> primary.</p> 665 <p>Austin Group Defect 1122 is applied, changing the description of <i>NLSPATH .</i></p> 666 <p>Austin Group Defect 1133 is applied, adding the <b>-mount</b> primary.</p> 667 <p>Austin Group Defects 1259 and 1777 are applied, changing the EXAMPLES section.</p> 668 <p>Austin Group Defect 1392 is applied, changing the effect of the file creation mask on the <i>mode</i> argument for the 669 <b>-perm</b> primary to be consistent with <a href="../utilities/chmod.html"><i>chmod</i></a>.</p> 670 <p>Austin Group Defect 1501 is applied, changing the EXIT STATUS section.</p> 671 <p>Austin Group Defect 1553 is applied, changing the ENVIRONMENT VARIABLES section.</p> 672 <p>Austin Group Defect 1554 is applied, changing the RATIONALE section.</p> 673 <p>Austin Group Defect 1606 is applied, clarifying that if <i>find</i> detects an infinite loop and recovers its position, the 674 final exit status is non-zero.</p> 675 <p>Austin Group Defect 1776 is applied, clarifying how symbolic links are handled by the <b>-newer</b> <i>file</i> primary.</p> 676 </blockquote> 677 <div class="box"><em>End of informative text.</em></div> 678 <hr> 679 <p> </p> 680 <a href="#top"><span class="topOfPage">return to top of page</span></a><br> 681 <hr size="2" noshade> 682 <center><font size="2">UNIX® is a registered Trademark of The Open Group.<br> 683 POSIX™ is a Trademark of The IEEE.<br> 684 Copyright © 2001-2024 The IEEE and The Open Group, All Rights Reserved<br> 685 [ <a href="../mindex.html">Main Index</a> | <a href="../basedefs/contents.html">XBD</a> | <a href= 686 "../functions/contents.html">XSH</a> | <a href="../utilities/contents.html">XCU</a> | <a href="../xrat/contents.html">XRAT</a> 687 ]</font></center> 688 <hr size="2" noshade> 689 <div class="NAVHEADER"> 690 <table summary="Header navigation table" class="nav" width="100%" border="0" cellpadding="0" cellspacing="0"> 691 <tr class="nav"> 692 <td class="nav" width="15%" align="left" valign="bottom"><a href="../utilities/file.html" accesskey="P"><<< 693 Previous</a></td> 694 <td class="nav" width="70%" align="center" valign="bottom"><a href="contents.html">Home</a></td> 695 <td class="nav" width="15%" align="right" valign="bottom"><a href="../utilities/fold.html" accesskey="N">Next >>></a></td> 696 </tr> 697 </table> 698 <hr align="left" width="100%"></div> 699 </body> 700 </html>