Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ find(1) — NEWS-os 5.0.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(1)

sh(1)

test(1)

stat(2)

umask(2)

fs(4)



find(1)                  USER COMMANDS                    find(1)



NAME
     find - find files

SYNOPSIS
     find path-name-list expression

DESCRIPTION
     find recursively descends the directory hierarchy  for  each
     path  name  in the path-name-list (that is, one or more path
     names) 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.  Valid
     expressions are:

     -name pattern   True if pattern  matches  the  current  file
                     name.   Normal  shell  file  name generation
                     characters  (see  sh(1))  may  be  used.   A
                     backslash (\) is used as an escape character
                     within the pattern.  The pattern  should  be
                     escaped  or quoted when find is invoked from
                     the shell.

     -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  (-),
                     only  the bits that are set in onum are com-
                     pared with the file  permission  flags,  and
                     the expression evaluates true if they match.

     -size n[c]      True if the file is n blocks long (512 bytes
                     per  block).   If  n is followed by a c, the
                     size is in characters.

     -atime n        True if the file was accessed  n  days  ago.
                     The  access  time  of  directories  in path-
                     name-list is changed by find itself.

     -mtime n        True if the file's data was modified n  days
                     ago.

     -ctime n        True if the file's status was changed n days
                     ago.

     -exec cmd       True if the  executed  cmd  returns  a  zero
                     value  as  exit status.  The end of cmd must
                     be punctuated by an  escaped  semicolon.   A
                     command  argument  {}  is  replaced  by  the
                     current path name.

     -ok cmd         Like -exec except that the generated command
                     line  is printed with a question mark first,



                                                                1





find(1)                  USER COMMANDS                    find(1)



                     and is executed only if the user responds by
                     typing y.

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

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

     -depth          Always true; causes descent of the directory
                     hierarchy  to be done so that all entries in
                     a directory are acted on before  the  direc-
                     tory  itself.   This can be useful when find
                     is used with cpio(1) to transfer files  that
                     are  contained  in directories without write
                     permission.

     -mount          Always true; restricts  the  search  to  the
                     file  system containing the directory speci-
                     fied.

     -local          True if the file physically resides  on  the
                     local system.

     ( expression )  True if the parenthesized expression is true
                     (parentheses  are  special  to the shell and
                     must be escaped).

     -type c         True if the type of the file is c,  where  c
                     is  b,  c,  d,  l, p, or f for block special
                     file,  character  special  file,  directory,
                     symbolic  link,  fifo (named pipe), or plain
                     file, respectively.

     -follow         Always true; causes  symbolic  links  to  be
                     followed.   When  following  symbolic links,
                     find keeps track of the directories  visited
                     so  that  it  can detect infinite loops; for
                     example, such a loop would occur if  a  sym-
                     bolic  link  pointed  to  an ancestor.  This
                     expression should not be used with the -type
                     l expression.

     -links n        True if the file has n links.

     -user uname     True if the file belongs to the user  uname.
                     If uname is numeric and does not appear as a
                     login name in the /etc/passwd  file,  it  is
                     taken as a user ID.

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



                                                                2





find(1)                  USER COMMANDS                    find(1)



     -group gname    True if the file belongs to the group gname.
                     If  gname  is numeric and does not appear in
                     the /etc/group file, it is taken as a  group
                     ID.

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

     -fstype type    True if the filesystem  to  which  the  file
                     belongs is of type type.

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

     -prune          Always yields  true.   Do  not  examine  any
                     directories or files in the directory struc-
                     ture below the pattern  just  matched.   See
                     the examples, below.

     The primaries may be combined using the following  operators
     (in order of decreasing precedence):

     1)  The negation of a primary (!  is the  unary  not  opera-
         tor).

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

     3)  Alternation of primaries (-o is the or operator).

     Note that when you use find in conjunction with cpio, if you
     use  the  -L  option with cpio then you must use the -follow
     expression with find and vice versa.  Otherwise  there  will
     be undesirable results.

EXAMPLES
     Remove all files in your home directory named a.out  or  *.o
     that have not been accessed for a week:
     find $HOME \( -name a.out -o -name '*.o' \) -atime +7 -exec rm {} \;

     Recursively print all file names in  the  current  directory
     and below, but skipping SCCS directories:
                  find . -name SCCS -prune -o -print

     Recursively print all file names in  the  current  directory
     and  below,  skipping  the contents of SCCS directories, but
     printing out the SCCS directory name:
                   find . -print -name SCCS -prune

FILES
     /etc/passwd, /etc/group





                                                                3





find(1)                  USER COMMANDS                    find(1)



SEE ALSO
     chmod(1), sh(1), test(1).
     stat(2), and umask(2) in the Programmer's Reference Manual.
     fs(4) in the System Administrator's Reference Manual.

NOTE
     When using find to determine files modified within  a  range
     of  time,  one must use the ?time argument BEFORE the -print
     argument otherwise find will give all files.

WARNING
     The following option is obsolete and will not  be  supported
     in future releases.

     -cpio device    Always true; write the current file on  dev-
                     ice in cpio(1) format (5120-byte records).







































                                                                4



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