Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ find(1) — HP-UX 5.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cpio(1)

sh(1)

test(1)

stat(2)

lstat(2)

cpio(5)

fs(5)

FIND(1)

NAME

find − find files

SYNOPSIS

find path-name-list  expression

HP-UX COMPATIBILITY

Level: HP-UX/STANDARD

Origin: System V

Native Language Support:
8−bit filenames.

DESCRIPTION

Find recursively descends the directory hierarchy for each path name in the path-name-list (i.e., 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.

−name string True if string 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

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

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

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

−size n[c] True if the file is n blocks long.  If n is followed by a c, the size is in characters. 

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

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

−ctime n True if the file has been changed in n days. 

−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, and is executed only if the user responds by typing y. 

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

−cpio device Always true; write the current file on device in cpio(5) format (5120-byte records). By default, find will not follow symbolic links that point to directories when this option is specified.  The −follow option may be used to follow symbolic links that point to directories. 

−follow Always true; causes find to recursively descend symbolic links that point to directories.  (This is the default when the −cpio option is not specified.)  Not all HP−UX systems support symbolic links. 

−nofollow Always true; causes find to not recursively descend symbolic links that point to directories. 

−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 directory itself.  This can be useful when find is used with cpio(1) to transfer files that are contained in directories without write permission.

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

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

−ncpiodevice Same as −cpio but adds the -c option to cpio. 

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

1) The negation of a primary (!  is the unary not operator). 

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

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

EXAMPLE

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

Note that the spaces delimiting the escaped parentheses are required. 

FILES

/etc/passwd, /etc/group

SEE ALSO

cpio(1), sh(1), test(1), stat(2), lstat(2), cpio(5), fs(5). 

Hewlett-Packard  —  last mod. May 11, 2021

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