Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ find(1) — bsd — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sh(1)

test(1)

fs.ffs(4)



FIND(1-BSD)         RISC/os Reference Manual          FIND(1-BSD)



NAME
     find - find files

SYNOPSIS
     find pathname-list expression
     find pattern

DESCRIPTION
     In the first form above, find recursively descends the
     directory hierarchy for each pathname in the pathname-list
     (i.e., one or more pathnames) seeking files that match a
     boolean expression written in the primaries given below.  In
     the descriptions, the argument n is used as a decimal
     integer where +n means more than n, -n means less than n and
     n means exactly n.

     The second form rapidly searches a database for all path-
     names which match pattern.  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
     pattern, but the matching differs in that no characters
     (e.g. `/') have to be matched explicitly.  As a special
     case, a simple pattern containing no globbing characters is
     matched as though it were *pattern*; if any globbing charac-
     ter appears there are no implicit globbing characters.

OPTIONS
     -name filename
               True if the filename argument matches the current
               file name.  Normal shell argument syntax may be
               used if escaped (watch out for `[', `?' and `*').

     -perm onum
               True if the file permission flags exactly match
               the octal number onum (see chmod(1)).  If onum is
               prefixed by a minus sign, more flag bits (017777,
               see stat(2)) become significant and the flags are
               compared:  (flags&onum)==onum.

     -fstype type
               True if the filesystem to which the file belongs
               is of type type, where type is typically ffs (the
               4.3BSD Fast File System) or nfs.

     -type c   True if the type of the file is c, where c is b,
               c, d, f, l, p or s for block special file, charac-
               ter special file, directory, plain file, symbolic
               link, fifo (aka, named pipe), or socket, respec-
               tively.

     -links n  True if the file has n links.



                        Printed 11/19/92                   Page 1





FIND(1-BSD)         RISC/os Reference Manual          FIND(1-BSD)



     -prune    Always true.  Has the side effect of pruning the
               search tree at the file.  That is, if the current
               pathname is a directory, find will not descend
               into that directory.

     -depth    Always true.  Has the side effect of causing a
               depth-first search.  That is, the children of the
               directory are processed before the directory
               itself.  The options -cpio and -ncpio cause -depth
               to be turned on by default.

     -user uname
               True if the file belongs to the user uname (login
               name or numeric user ID).

     -nouser   True if the file belongs to a user not in the
               /etc/passwd database.

     -group gname
               True if the file belongs to group gname (group
               name or numeric group ID).

     -nogroup  True if the file belongs to a group not in the
               /etc/group database.

     -size n   True if the file is n blocks long (512 bytes per
               block).

     -inum n   True if the file has inode number n.

     -atime n  True if the file has been accessed in n days.

     -ctime n  True if the inode has been changed in n days (see
               ls(1) for more information).

     -mtime n  True if the file has been modified in n days.

     -exec 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.

     -ok command
               Like -exec 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.

     -print    Always true; causes the current pathname to be
               printed.




 Page 2                 Printed 11/19/92





FIND(1-BSD)         RISC/os Reference Manual          FIND(1-BSD)



     -ls       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).

     -newer file
               True if the current file has been modified more
               recently than the argument file.

     -cpio file
               Write the current file on the argument file in
               standard cpio format.  Implies -depth.

     -ncpio file
               Write the current file on the argument file in
               ASCII (-C) cpio format.  Implies -depth.

     -xdev     Always true; causes find not to traverse down into
               a file system different from the one on which
               current argument pathname resides.

     -follow   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 not opera-
         tor).

     3)  Concatenation of primaries (the and operation is implied
         by the juxtaposition of two primaries).

     4)  Alternation of primaries (`-o' is the or operator).

EXAMPLES
     To find all accessible files whose pathname contains `find':




                        Printed 11/19/92                   Page 3





FIND(1-BSD)         RISC/os Reference Manual          FIND(1-BSD)



          find find

     To display all variants of manual pages for `ls':

          nroff -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
     {} \;

     The following will list all files in the current directory
     and subdirectories except for files in RCS directories:

          find . -name RCS -prune -o -print

FILES
     /etc/passwd
     /etc/group
     /usr/lib/find/find.codes     coded pathnames database

SEE ALSO
     sh(1), test(1).
     fs.ffs(4) in the Programmer's Reference Manual.
     Relevant paper in February, 1983 issue of ;login:.

BUGS
     The first form's syntax is painful, and the second form's
     exact semantics is confusing and can vary from site to site.

     More than one -newer option does not work properly.























 Page 4                 Printed 11/19/92



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026