|
Hopefully, this page is exactly what you are looking for, but if not, you can always find further assistance on Unix/Linux Forum!
User Commands find(1)
NAME
find - find files
SYNOPSIS
/usr/bin/find [-H | -L] path... expression
/usr/xpg4/bin/find [-H | -L] path... expression
DESCRIPTION
The find utility recursively descends the directory hierar-
chy for each path seeking files that match a Boolean expres-
sion written in the primaries given below.
find is able to descend to arbitrary depths in a file
hierarchy and does not fail due to path length limitations
(unless a path operand specified by the application exceeds
PATH_MAX requirements).
OPTIONS
The following options are supported:
-H Causes the file information and file type evaluated
for each symbolic link encountered on the command
line to be those of the file referenced by the
link, and not the link itself. If the referenced
file does not exist, the file information and type
is for the link itself. File information for all
symbolic links not on the command line is that of
the link itself.
-L Causes the file information and file type evaluated
for each symbolic link to be those of the file
referenced by the link, and not the link itself.
See NOTES.
Specifying more than one of the mutually-exclusive options
-H and -L is not considered an error. The last option speci-
fied determines the behavior of the utility.
OPERANDS
The following operands are supported:
path A pathname of a starting point in the direc-
tory hierarchy.
SunOS 5.10 Last change: 25 Aug 2006 1
User Commands find(1)
expression The first argument that starts with a -, or
is a ! or a (, and all subsequent arguments
are interpreted as an expression made up of
the following primaries and operators. In
the descriptions, wherever n is used as a
primary argument, it is interpreted as a
decimal integer optionally preceded by a
plus (+) or minus (-) sign, as follows:
+n more than n
n exactly n
-n less than n
Expressions
Valid expressions are:
-acl True if the file have additional ACLs
defined.
-atimen True if the file was accessed n days ago.
The access time of directories in path is
changed by find itself.
-cpio device Always true. Writes the current file on dev-
ice in cpio format (5120-byte records).
-ctime n True if the file's status was changed n days
ago.
-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
SunOS 5.10 Last change: 25 Aug 2006 2
User Commands find(1)
are contained in directories without write
permission.
-exec command True if the executed command returns a zero
value as exit status. The end of command
must be punctuated by an escaped semicolon
(;). A command argument {} is replaced by
the current pathname. If the last argument
to -exec is {} and you specify + rather than
the semicolon (;), the command is invoked
fewer times, with {} replaced by groups of
pathnames. If any invocation of the command
returns a non-zero value as exit status,
find returns a non-zero exit status.
-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. See NOTES.
-fstype type True if the filesystem to which the file
belongs is of type type.
-group gname True if the file belongs to the group gname.
If gname is numeric and does not appear in
the /etc/group file, or in the NIS/NIS+
tables, it is taken as a group ID.
-inum n True if the file has inode number n.
-links n True if the file has n links.
-local True if the file system type is not a remote
file system type as defined in the
SunOS 5.10 Last change: 25 Aug 2006 3
User Commands find(1)
/etc/dfs/fstypes file. nfs is used as the
default remote filesystem type if the
/etc/dfs/fstypes file is not present. The
-local option descends the hierarchy of
non-local directories. See EXAMPLES for an
example of how to search for local files
without descending.
-ls Always true. Prints current pathname
together with its associated statistics.
These include (respectively):
o inode number
o size in kilobytes (1024 bytes)
o protection mode
o number of hard links
o user
o group
o size in bytes
o modification time.
If the file is a special file, the size
field instead contains 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 (see ls(1B)).
Formatting is done internally, without exe-
cuting the ls program.
-mount Always true. Restricts the search to the
file system containing the directory speci-
fied. Does not list mount points to other
file systems.
SunOS 5.10 Last change: 25 Aug 2006 4
User Commands find(1)
-mtime n True if the file's data was modified n days
ago.
-name pattern True if pattern matches the current file
name. Normal shell file name generation
characters (see sh(1)) can 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.
Unless the character '.' is explicitly
specified in the beginning of pattern, a
current file name beginning with '.' does
not match pattern when using /usr/bin/find.
/usr/xpg4/bin/find does not make this dis-
tinction; wildcard file name generation
characters can match file names beginning
with '.'.
-ncpio device Always true. Writes the current file on dev-
ice in cpio -c format (5120 byte records).
-newer file True if the current file has been modified
more recently than the argument file.
-nogroup True if the file belongs to a group not in
the /etc/group file, or in the NIS/NIS+
tables.
-nouser True if the file belongs to a user not in
the /etc/passwd file, or in the NIS/NIS+
tables.
-ok command Like -exec, except that the generated com-
mand line is printed with a question mark
first, and is executed only if the user
responds by typing y.
SunOS 5.10 Last change: 25 Aug 2006 5
User Commands find(1)
-perm [-]mode The mode argument is used to represent file
mode bits. It is identical in format to the
symbolic mode operand, symbolic_mode_list,
described in chmod(1), and is interpreted as
follows. To start, a template is assumed
with all file mode bits cleared. An op sym-
bol of:
+ Set the appropriate mode bits in
the template
- Clear the appropriate bits
= Set the appropriate mode bits,
without regard to the contents of
the file mode creation mask of the
process
The op symbol of - cannot be the first char-
acter of mode, to avoid ambiguity with the
optional leading hyphen. Since the initial
mode is all bits off, there are no symbolic
modes that need to use - as the first char-
acter.
If the hyphen is omitted, the primary evalu-
ates as true when the file permission bits
exactly match the value of the resulting
template.
Otherwise, if mode is prefixed by a hyphen,
the primary evaluates as true if at least
all the bits in the resulting template are
set in the file permission bits.
-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.
SunOS 5.10 Last change: 25 Aug 2006 6
User Commands find(1)
-print Always true. Causes the current pathname to
be printed.
-prune Always yields true. Does not examine any
directories or files in the directory struc-
ture below the pattern just matched. (See
EXAMPLES). If -depth is specified, -prune
has no effect.
-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 bytes.
-typec True if the type of the file is c, where c
is b, c, d, D, f, l, p, or s for block spe-
cial file, character special file, direc-
tory, door, plain file, symbolic link, fifo
(named pipe), or socket, respectively.
-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, or in
the NIS/NIS+ tables, it is taken as a user
ID.
-xdev Same as the -mount primary.
-xattr True if the file has extended attributes.
Complex Expressions
The primaries can be combined using the following operators
(in order of decreasing precedence):
1) ( expression ) True if the parenthesized
expression is true
(parentheses are special to
the shell and must be
escaped).
SunOS 5.10 Last change: 25 Aug 2006 7
User Commands find(1)
2) ! expression The negation of a primary (!
is the unary not operator).
3) expression [-a] expression Concatenation of primaries
(the and operation is
implied by the juxtaposition
of two primaries).
4) expression -o expression Alternation of primaries (-o
is the or operator).
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 are undesirable
results.
If no expression is present, -print is used as the expres-
sion. Otherwise, if the given expression does not contain
any of the primaries -exec, -ok or -print, the given expres-
sion is effectively replaced by:
( given_expression ) -print
The -user, -group, and -newer primaries each evaluate their
respective arguments only once. Invocation of command speci-
fied by -exec or -ok does not affect subsequent primaries on
the same file.
USAGE
See largefile(5) for the description of the behavior of find
when encountering files greater than or equal to 2 Gbyte ( 2
**31 bytes).
EXAMPLES
Example 1: Writing Out the Hierarchy Directory
The following commands are equivalent:
example% find .
example% find . -print
They both write out the entire directory hierarchy from the
current directory.
SunOS 5.10 Last change: 25 Aug 2006 8
User Commands find(1)
Example 2: Removing Files
The following comand removes all files in your home direc-
tory named a.out or *.o that have not been accessed for a
week:
example% find $HOME \( -name a.out -o -name '*.o' \) \
-atime +7 -exec rm {} \;
Example 3: Printing All File Names But Skipping SCCS Direc-
tories
The following command recursively print all file names in
the current directory and below, but skipping SCCS direc-
tories:
example% find . -name SCCS -prune -o -print
Example 4: Printing all file names and the SCCS directory
name
Recursively print all file names in the current directory
and below, skipping the contents of SCCS directories, but
printing out the SCCS directory name:
example% find . -print -name SCCS -prune
Example 5: Testing for the Newer File
The following command is basically equivalent to the -nt
extension to test(1):
example$ if [ -n "$(find
file1 -prune -newer file2)" ]; then
printf %s\\n "file1 is newer than file2"
Example 6: Selecting a File Using 24-hour Mode
The descriptions of -atime, -ctime, and -mtime use the ter-
minology n ``24-hour periods''. For example, a file accessed
at 23:59 is selected by:
example% find . -atime -1 print
at 00:01 the next day (less than 24 hours later, not more
than one day ago). The midnight boundary between days has no
effect on the 24-hour calculation.
Example 7: Printing Files Matching a User's Permission Mode
SunOS 5.10 Last change: 25 Aug 2006 9
User Commands find(1)
The following command recursively print all file names whose
permission mode exactly matches read, write, and execute
access for user, and read and execute access for group and
other:
example% find . -perm u=rwx,g=rx,o=rx
The above could alternatively be specified as follows:
example% find . -perm a=rwx,g-w,o-w
Example 8: Printing Files with Write Access for other
The following command recursively print all file names whose
permission includes, but is not limited to, write access for
other:
example% find . -perm -o+w
Example 9: Printing Local Files without Descending Non-local
Directories
example% find . ! -local -prune -o -print
Example 10: Printing the Files in the Name Space Possessing
Extended Attributes
example% find . -xattr
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment
variables that affect the execution of find: LANG, LC_ALL,
LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.
PATH Determine the location of the utility_name
for the -exec and -ok primaries.
EXIT STATUS
The following exit values are returned:
0 All path operands were traversed successfully.
>0 An error occurred.
FILES
SunOS 5.10 Last change: 25 Aug 2006 10
User Commands find(1)
/etc/passwd Password file
/etc/group Group file
/etc/dfs/fstypes File that registers distributed file
system packages
ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Availability | SUNWcsu |
|_____________________________|_____________________________|
| CSI | Enabled |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
SEE ALSO
chmod(1), cpio(1), ls(1B), sh(1), test(1), acl(2), stat(2),
umask(2), attributes(5), environ(5), fsattr(5), large-
file(5), standards(5)
WARNINGS
The following options are obsolete and will not be supported
in future releases:
-cpio device Always true. Writes the current file on dev-
ice in cpio format (5120-byte records).
-ncpio device Always true. Writes the current file on dev-
ice in cpio -c format (5120-byte records).
NOTES
When using find to determine files modified within a range
of time, use the -mtime argument before the -print argument.
Otherwise, find gives all files.
SunOS 5.10 Last change: 25 Aug 2006 11
User Commands find(1)
Some files that might be under the Solaris root file system
are actually mount points for virtual file systems, such as
mntfs or namefs. When comparing against a ufs file system,
such files are not selected if -mount or -xdev is specified
in the find expression.
Using the -L or -follow option is not recommended when des-
cending a file-system hierarchy that is under the control of
other users. In particular, when using -exec, symbolic links
can lead the find command out of the hierarchy in which it
started. Using -type is not sufficient to restrict the type
of files on which the -exec command operates, because there
is an inherent race condition between the type-check per-
formed by the find command and the time the executed command
operates on the file argument.
SunOS 5.10 Last change: 25 Aug 2006 12
Man(1) output converted with
man2html and wrapped by fishsponge
This page was generated on Wed Sep 12 11:24:41 GMT 2007
|
Your favourite pages:
No pages logged yet. Trying to save cookie... Top 10 most popular pages:
sqlite3 man page (5052 hits) (openSUSE 10.2)
adv_cap_autoneg man page (4731 hits) (Solaris 10 11_06)
CPAN man page (4447 hits) (Suse Linux 10.1)
ssh man page (4240 hits) (Suse Linux 10.1)
svn man page (4098 hits) (FreeBSD 6.2)
startproc man page (2154 hits) (Suse Linux 10.1)
ssh-socks5-proxy-connect man page (2091 hits) (Solaris 10 11_06)
netcat man page (2081 hits) (Suse Linux 10.1)
signal man page (1945 hits) (Suse Linux 10.1)
pprosetup man page (1943 hits) (Solaris 10 11_06)
|