Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ find(1) — Ultrix/UWS 4.2 RISC

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cpio(1)

sh(1)

test(1)

cpio(5)

fs(5)

find(1)

Name

find − find files

Syntax

find pathname-list  expression

Description

The find command recursively descends the directory hierarchy for each pathname in the pathname-list (that is, 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.

Options

−atime nTests true if the file has been accessed in n days. 

−cpio outputWrites current file on output in the format (5120-byte records) specified in the cpio() reference page.  The output can be either a file or tape device.  If output is a tape device the cpio B key must be used to read data from the tape.

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

−depthAlways true; causes descent of the directory hierarchy to be done so that all entries in a directory are acted on before the directory itself (that is, postorder instead of preorder).  This can be useful when find is used with cpio to transfer files that are contained in directories without write permission.

−exec command
Tests true if specified command returns a 0 on exit. The end of the command must be punctuated by an escaped semicolon. A command argument ‘{}’ is replaced by the current pathname.

−group gnameTests true if group ID matches specified group name. 

−inum nTests true if the file has inode number n. 

−links nTests true if the file has n links. 

−mountTests true if the current file is on the same file system as the current starting pathname. 

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

−name filename
Tests true if the filename argument matches the current file name.  Normal Shell argument syntax may be used if escaped (watch out for ‘[’, ‘?’ and ‘*’). 

−newer fileTests true if the current file has been modified more recently than the argument file. 

−ok commandExecutes specified command on standard output, then standard input is read and command executed only upon response y. 

−perm onumTests true if file has specified octal number.  For further information, see chmod(.). If onum is prefixed by a minus sign, more flag bits (017777) become significant and the flags are compared: (flags&onum)==onum. For further information, see stat(.).

−printPrints current pathname. 

−size nTests true if the file is n blocks long (512 bytes per block). 

−type cTests true if file is c type ( c = b, block special file: c, character special file: d, directory: f, plain file: l, symbolic link: p, type port: s, type socket). 

−user unameTests true if file owner is login name or numeric user ID. 

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

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

To find all files on the root file system type:

find / −mount −print

To write all the files on the root file system to tape:

find / −mount −print −cpio /dev/rmt?h
cpio −iBvt < /dev/rmt?h

To find all the mount points on the root file system type:

find / ! −mount −print

Files

/etc/passwd
/etc/group

See Also

cpio(1), sh(1), test(1), cpio(5), fs(5)

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