+
+
+
+FIND(1) UNIX Programmer's Manual FIND(1)
+
+
+
+N\bNA\bAM\bME\bE
+ find - find files
+
+S\bSY\bYN\bNO\bOP\bPS\bSI\bIS\bS
+ f\bfi\bin\bnd\bd pathname-list expression
+ f\bfi\bin\bnd\bd pattern
+
+D\bDE\bES\bSC\bCR\bRI\bIP\bPT\bTI\bIO\bON\bN
+ In the first form above, _\bf_\bi_\bn_\bd recursively descends the
+ directory hierarchy for each pathname in the _\bp_\ba_\bt_\bh_\bn_\ba_\bm_\be-_\bl_\bi_\bs_\bt
+ (i.e., one or more pathnames) seeking files that match a
+ boolean _\be_\bx_\bp_\br_\be_\bs_\bs_\bi_\bo_\bn written in the primaries given below. In
+ the descriptions, the argument _\bn is used as a decimal
+ integer where +_\bn means more than _\bn, -_\bn means less than _\bn and
+ _\bn means exactly _\bn.
+
+ The second form rapidly searches a database for all path-
+ names which match _\bp_\ba_\bt_\bt_\be_\br_\bn. Usually the database is recom-
+ puted weekly and contains the pathnames of all files which
+ are publicly accessible. If escaped, normal shell "glob-
+ bing" characters (`*', `?', `[', and ']') may be used in
+ _\bp_\ba_\bt_\bt_\be_\br_\bn, but the matching differs in that no characters
+ (_\be._\bg. `/') have to be matched explicitly. As a special
+ case, a simple _\bp_\ba_\bt_\bt_\be_\br_\bn containing no globbing characters is
+ matched as though it were *_\bp_\ba_\bt_\bt_\be_\br_\bn*; if any globbing charac-
+ ter appears there are no implicit globbing characters.
+
+ -\b-n\bna\bam\bme\be filename
+ True if the _\bf_\bi_\bl_\be_\bn_\ba_\bm_\be argument matches the current
+ file name. Normal shell argument syntax may be
+ used if escaped (watch out for `[', `?' and `*').
+
+ -\b-p\bpe\ber\brm\bm onum
+ True if the file permission flags exactly match
+ the octal number _\bo_\bn_\bu_\bm (see _\bc_\bh_\bm_\bo_\bd(1)). If _\bo_\bn_\bu_\bm is
+ prefixed by a minus sign, more flag bits (017777,
+ see _\bs_\bt_\ba_\bt(2)) become significant and the flags are
+ compared: (_\bf_\bl_\ba_\bg_\bs&_\bo_\bn_\bu_\bm)==_\bo_\bn_\bu_\bm.
+
+ -\b-t\bty\byp\bpe\be c True if the type of the file is _\bc, where _\bc is b\bb,\b,
+ c\bc,\b, d\bd,\b, f\bf,\b, l\bl or s\bs for block special file, character
+ special file, directory, plain file, symbolic
+ link, or socket.
+
+ -\b-l\bli\bin\bnk\bks\bs n True if the file has _\bn links.
+
+ -\b-u\bus\bse\ber\br uname
+ True if the file belongs to the user _\bu_\bn_\ba_\bm_\be (login
+ name or numeric user ID).
+
+ -\b-n\bno\bou\bus\bse\ber\br True if the file belongs to a user _\bn_\bo_\bt in the
+ /etc/passwd database.
+
+
+
+Printed 7/21/88 July 21, 1988 1
+
+
+
+
+
+
+FIND(1) UNIX Programmer's Manual FIND(1)
+
+
+
+ -\b-g\bgr\bro\bou\bup\bp gname
+ True if the file belongs to group _\bg_\bn_\ba_\bm_\be (group
+ name or numeric group ID).
+
+ -\b-n\bno\bog\bgr\bro\bou\bup\bp True if the file belongs to a group _\bn_\bo_\bt in the
+ /etc/group database.
+
+ -\b-s\bsi\biz\bze\be n True if the file is _\bn blocks long (512 bytes per
+ block).
+
+ -\b-i\bin\bnu\bum\bm n True if the file has inode number _\bn.
+
+ -\b-a\bat\bti\bim\bme\be n True if the file has been accessed in _\bn days.
+
+ -\b-m\bmt\bti\bim\bme\be n True if the file has been modified in _\bn days.
+
+ -\b-e\bex\bxe\bec\bc command
+ True if the executed command returns a zero value
+ as exit status. The end of the command must be
+ punctuated by an escaped semicolon. A command
+ argument `{}' is replaced by the current pathname.
+
+ -\b-o\bok\bk command
+ Like -\b-e\bex\bxe\bec\bc except that the generated command is
+ written on the standard output, then the standard
+ input is read and the command executed only upon
+ response y\by.
+
+ -\b-p\bpr\bri\bin\bnt\bt Always true; causes the current pathname to be
+ printed.
+
+ -\b-l\bls\bs Always true; causes current pathname to be printed
+ together with its associated statistics. These
+ include (respectively) inode number, size in kilo-
+ bytes (1024 bytes), protection mode, number of
+ hard links, user, group, size in bytes, and modif-
+ ication time. If the file is a special file the
+ size field will instead contain the major and
+ minor device numbers. If the file is a symbolic
+ link the pathname of the linked-to file is printed
+ preceded by ``->''. The format is identical to
+ that of ``ls -gilds'' (note however that format-
+ ting is done internally, without executing the ls
+ program).
+
+ -\b-n\bne\bew\bwe\ber\br file
+ True if the current file has been modified more
+ recently than the argument _\bf_\bi_\bl_\be.
+
+ -\b-c\bcp\bpi\bio\bo file
+ Write the current file on the argument _\bf_\bi_\bl_\be in
+ _\bc_\bp_\bi_\bo format.
+
+
+
+Printed 7/21/88 July 21, 1988 2
+
+
+
+
+
+
+FIND(1) UNIX Programmer's Manual FIND(1)
+
+
+
+ -\b-x\bxd\bde\bev\bv Always true; causes find _\bn_\bo_\bt to traverse down into
+ a file system different from the one on which
+ current _\ba_\br_\bg_\bu_\bm_\be_\bn_\bt pathname resides.
+
+ -\b-f\bfo\bol\bll\blo\bow\bw Always true; causes find to traverse symbolic
+ links to directories. Normally find does not
+ traverse symbolic links.
+
+ The primaries may be combined using the following operators
+ (in order of decreasing precedence):
+
+ 1) A parenthesized group of primaries and operators
+ (parentheses are special to the Shell and must be
+ escaped).
+
+ 2) The negation of a primary (`!' is the unary _\bn_\bo_\bt opera-
+ tor).
+
+ 3) Concatenation of primaries (the _\ba_\bn_\bd operation is implied
+ by the juxtaposition of two primaries).
+
+ 4) Alternation of primaries (`-\b-o\bo' is the _\bo_\br operator).
+
+E\bEX\bXA\bAM\bMP\bPL\bLE\bES\bS
+ To find all accessible files whose pathname contains `find':
+
+ find find
+
+ To typeset all variants of manual pages for `ls':
+
+ vtroff -man `find '*man*/ls.?'`
+
+ To remove all files named `a.out' or `*.o' that have not
+ been accessed for a week:
+
+ find / \( -name a.out -o -name '*.o' \) -atime +7 -exec rm
+ {} \;
+
+F\bFI\bIL\bLE\bES\bS
+ /etc/passwd
+ /etc/group
+ /usr/lib/find/find.codes coded pathnames database
+
+S\bSE\bEE\bE A\bAL\bLS\bSO\bO
+ sh(1), test(1), fs(5)
+ Relevant paper in February, 1983 issue of ;_\bl_\bo_\bg_\bi_\bn:.
+
+B\bBU\bUG\bGS\bS
+ The first form's syntax is painful, and the second form's
+ exact semantics is confusing and can vary from site to site.
+
+
+
+
+
+Printed 7/21/88 July 21, 1988 3
+
+
+
+
+
+
+FIND(1) UNIX Programmer's Manual FIND(1)
+
+
+
+ More than one `-newer' option does not work properly.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Printed 7/21/88 July 21, 1988 4
+
+
+