find

find

The find command in Unix and Linux is a powerful utility used to search for files and directories within a specified directory hierarchy. It allows you to locate files based on various criteria such as name, type, size, permissions, and timestamps.

Basic Usage

The basic syntax for the find command is:

find [path...] [expression]
  • path: Specifies the starting directory or directories to search. If not specified, find starts from the current directory.

  • expression: Defines the search criteria and actions to be performed on matched files and directories.

Examples

Finding Files by Name

To find files with a specific name:

find /path/to/search -name "filename.txt"

This command searches /path/to/search and its subdirectories for files named filename.txt.

Finding Directories

To find directories:

find /path/to/search -type d

This command lists all directories under /path/to/search.

Finding Files by Type

To find all regular files (excluding directories and symbolic links):

find /path/to/search -type f

This command searches for all regular files under /path/to/search.

Finding Files Based on Size

To find files larger than a specific size (e.g., 1MB):

find /path/to/search -type f -size +1M

This command searches for files larger than 1MB under /path/to/search.

Finding Files Modified Recently

To find files modified within the last 7 days:

find /path/to/search -type f -mtime -7

This command searches for files modified in the last 7 days under /path/to/search.

Options and Expressions

-name Option: Match by Name

To match files by name pattern (supports wildcard characters):

find /path/to/search -name "*.log"

This command finds files ending in .log under /path/to/search.

-type Option: Match by Type

To specify the type of file or directory (f for regular files, d for directories):

find /path/to/search -type d

This command finds directories under /path/to/search.

-size Option: Match by Size

To specify file size in blocks (c), kilobytes (k), megabytes (M), gigabytes (G), or terabytes (T):

find /path/to/search -size +1M

This command finds files larger than 1MB under /path/to/search.

-mtime Option: Match by Modification Time

To specify files modified within a certain number of days (+ for older, - for newer):

find /path/to/search -mtime -7

This command finds files modified in the last 7 days under /path/to/search.

Practical Use Cases

Deleting Old Log Files

To delete log files older than 30 days:

find /var/log -name "*.log" -mtime +30 -exec rm {} \;

This command finds log files in /var/log older than 30 days and deletes them.

Finding and Copying Files

To find all .txt files and copy them to a new directory:

find /path/to/search -name "*.txt" -exec cp {} /path/to/destination \;

This command finds all .txt files under /path/to/search and copies them to /path/to/destination.

Summary

The find command is a versatile tool for searching files and directories in Unix and Linux environments. Its ability to filter based on various criteria makes it invaluable for tasks such as file management, cleanup, and automation. Understanding its options and expressions allows you to perform precise searches and operations on files and directories efficiently.

help

Usage: find [-H] [-L] [-P] [-Olevel] [-D debugopts] [path...] [expression]

Default path is the current directory; default expression is -print.
Expression may consist of: operators, options, tests, and actions.

Operators (decreasing precedence; -and is implicit where no others are given):
      ( EXPR )   ! EXPR   -not EXPR   EXPR1 -a EXPR2   EXPR1 -and EXPR2
      EXPR1 -o EXPR2   EXPR1 -or EXPR2   EXPR1 , EXPR2

Positional options (always true):
      -daystart -follow -nowarn -regextype -warn

Normal options (always true, specified before other expressions):
      -depth -files0-from FILE -maxdepth LEVELS -mindepth LEVELS
       -mount -noleaf -xdev -ignore_readdir_race -noignore_readdir_race

Tests (N can be +N or -N or N):
      -amin N -anewer FILE -atime N -cmin N -cnewer FILE -context CONTEXT
      -ctime N -empty -false -fstype TYPE -gid N -group NAME -ilname PATTERN
      -iname PATTERN -inum N -iwholename PATTERN -iregex PATTERN
      -links N -lname PATTERN -mmin N -mtime N -name PATTERN -newer FILE
      -nouser -nogroup -path PATTERN -perm [-/]MODE -regex PATTERN
      -readable -writable -executable
      -wholename PATTERN -size N[bcwkMG] -true -type [bcdpflsD] -uid N
      -used N -user NAME -xtype [bcdpfls]

Actions:
      -delete -print0 -printf FORMAT -fprintf FILE FORMAT -print 
      -fprint0 FILE -fprint FILE -ls -fls FILE -prune -quit
      -exec COMMAND ; -exec COMMAND {} + -ok COMMAND ;
      -execdir COMMAND ; -execdir COMMAND {} + -okdir COMMAND ;

Other common options:
      --help                   display this help and exit
      --version                output version information and exit

Valid arguments for -D:
exec, opt, rates, search, stat, time, tree, all, help
Use '-D help' for a description of the options, or see find(1)

man

NAME
       find - search for files in a directory hierarchy

SYNOPSIS
       find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]

DESCRIPTION
       This  manual page documents the GNU version of find.  GNU find searches the directory tree
       rooted at each given starting-point by evaluating the given expression from left to right,
       according  to  the rules of precedence (see section OPERATORS), until the outcome is known
       (the left hand side is false for and operations, true for or), at which point  find  moves
       on to the next file name.  If no starting-point is specified, `.' is assumed.

       If  you  are  using find in an environment where security is important (for example if you
       are using it to search directories that are writable by other users), you should read  the
       `Security  Considerations' chapter of the findutils documentation, which is called Finding
       Files and comes with findutils.  That document also includes a lot more detail and discus‐
       sion than this manual page, so you may find it a more useful source of information.

OPTIONS
       The -H, -L and -P options control the treatment of symbolic links.  Command-line arguments
       following these are taken to be names of files or directories to be examined,  up  to  the
       first  argument  that  begins with `-', or the argument `(' or `!'.  That argument and any
       following arguments are taken to be the expression describing what is to be searched  for.
       If  no paths are given, the current directory is used.  If no expression is given, the ex‐
       pression -print is used (but you should probably consider using -print0 instead, anyway).

       This manual page talks about `options' within the expression list.  These options  control
       the  behaviour  of  find but are specified immediately after the last path name.  The five
       `real' options -H, -L, -P, -D and -O must appear before the first path name, if at all.  A
       double  dash -- could theoretically be used to signal that any remaining arguments are not
       options, but this does not really work due to the way find determines the end of the  fol‐
       lowing  path  arguments: it does that by reading until an expression argument comes (which
       also starts with a `-').  Now, if a path argument would start with a `-', then find  would
       treat  it as expression argument instead.  Thus, to ensure that all start points are taken
       as such, and especially to prevent that wildcard patterns expanded by  the  calling  shell
       are  not mistakenly treated as expression arguments, it is generally safer to prefix wild‐
       cards or dubious path names with either `./' or to use absolute path names  starting  with
       '/'.   Alternatively,  it  is  generally  safe  though  non-portable to use the GNU option
       -files0-from to pass arbitrary starting points to find.

       -P     Never follow symbolic links.  This is the default behaviour.  When find examines or
              prints  information  about  files, and the file is a symbolic link, the information
              used shall be taken from the properties of the symbolic link itself.
       -L     Follow symbolic links.  When find examines or prints information about  files,  the
              information  used  shall be taken from the properties of the file to which the link
              points, not from the link itself (unless it is a broken symbolic link  or  find  is
              unable  to  examine the file to which the link points).  Use of this option implies
              -noleaf.  If you later use the -P option, -noleaf will still be in effect.   If  -L
              is  in  effect  and  find  discovers  a  symbolic link to a subdirectory during its
              search, the subdirectory pointed to by the symbolic link will be searched.

              When the -L option is in effect, the -type predicate will always match against  the
              type of the file that a symbolic link points to rather than the link itself (unless
              the symbolic link is broken).  Actions that can cause symbolic links to become bro‐
              ken while find is executing (for example -delete) can give rise to confusing behav‐
              iour.  Using -L causes the -lname and -ilname predicates always to return false.

       -H     Do not follow symbolic links, except while processing the command  line  arguments.
              When find examines or prints information about files, the information used shall be
              taken from the properties of the symbolic link itself.  The only exception to  this
              behaviour  is when a file specified on the command line is a symbolic link, and the
              link can be resolved.  For that situation, the information used is taken from what‐
              ever the link points to (that is, the link is followed).  The information about the
              link itself is used as a fallback if the file pointed to by the symbolic link  can‐
              not  be examined.  If -H is in effect and one of the paths specified on the command
              line is a symbolic link to a directory, the contents of that directory will be  ex‐
              amined (though of course -maxdepth 0 would prevent this).
       If  more  than  one of -H, -L and -P is specified, each overrides the others; the last one
       appearing on the command line takes effect.  Since it is the default, the -P option should
       be considered to be in effect unless either -H or -L is specified.

       GNU  find  frequently stats files during the processing of the command line itself, before
       any searching has begun.  These options also affect how  those  arguments  are  processed.
       Specifically,  there  are  a number of tests that compare files listed on the command line
       against a file we are currently considering.  In each case, the file specified on the com‐
       mand line will have been examined and some of its properties will have been saved.  If the
       named file is in fact a symbolic link, and the -P option is in effect (or  if  neither  -H
       nor  -L  were  specified),  the information used for the comparison will be taken from the
       properties of the symbolic link.  Otherwise, it will be taken from the properties  of  the
       file  the  link points to.  If find cannot follow the link (for example because it has in‐
       sufficient privileges or the link points to a nonexistent file) the properties of the link
       itself will be used.

       When  the  -H  or  -L  options are in effect, any symbolic links listed as the argument of
       -newer will be dereferenced, and the timestamp will be taken from the file  to  which  the
       symbolic link points.  The same consideration applies to -newerXY, -anewer and -cnewer.

       The  -follow  option has a similar effect to -L, though it takes effect at the point where
       it appears (that is, if -L is not used but -follow is, any symbolic links appearing  after
       -follow on the command line will be dereferenced, and those before it will not).

       -D debugopts
              Print  diagnostic  information;  this  can be helpful to diagnose problems with why
              find is not doing what you want.  The list of debug options should be  comma  sepa‐
              rated.   Compatibility  of  the debug options is not guaranteed between releases of
              findutils.  For a complete list of valid debug options,  see  the  output  of  find
              -D help.  Valid debug options include

              exec   Show diagnostic information relating to -exec, -execdir, -ok and -okdir

              opt    Prints diagnostic information relating to the optimisation of the expression
                     tree; see the -O option.

              rates  Prints a summary indicating how often each predicate succeeded or failed.

              search Navigate the directory tree verbosely.

              stat   Print messages as files are examined with the stat and lstat  system  calls.
                     The find program tries to minimise such calls.

              tree   Show the expression tree in its original and optimised form.

              all    Enable all of the other debug options (but help).

              help   Explain the debugging options.
      -Olevel
              Enables  query optimisation.  The find program reorders tests to speed up execution
              while preserving the overall effect; that is, predicates with side effects are  not
              reordered relative to each other.  The optimisations performed at each optimisation
              level are as follows.

              0      Equivalent to optimisation level 1.

              1      This is the default optimisation level and corresponds  to  the  traditional
                     behaviour.   Expressions are reordered so that tests based only on the names
                     of files (for example -name and -regex) are performed first.

              2      Any -type or -xtype tests are performed after any tests based  only  on  the
                     names  of  files, but before any tests that require information from the in‐
                     ode.  On many modern versions of Unix, file types are returned by  readdir()
                     and so these predicates are faster to evaluate than predicates which need to
                     stat the file first.  If you use the -fstype FOO  predicate  and  specify  a
                     filesystem  type FOO which is not known (that is, present in `/etc/mtab') at
                     the time find starts, that predicate is equivalent to -false.

              3      At this optimisation level, the full cost-based query optimiser is  enabled.
                     The order of tests is modified so that cheap (i.e. fast) tests are performed
                     first and more expensive ones are performed  later,  if  necessary.   Within
                     each  cost  band,  predicates  are  evaluated  earlier or later according to
                     whether they are likely to succeed or not.  For  -o,  predicates  which  are
                     likely  to  succeed  are evaluated earlier, and for -a, predicates which are
                     likely to fail are evaluated earlier.

              The cost-based optimiser has a fixed idea of how likely any given test is  to  suc‐
              ceed.   In  some  cases the probability takes account of the specific nature of the
              test (for example, -type f is assumed to be more likely to succeed  than  -type c).
              The cost-based optimiser is currently being evaluated.  If it does not actually im‐
              prove the performance of find, it will be removed again.  Conversely, optimisations
              that  prove  to be reliable, robust and effective may be enabled at lower optimisa‐
              tion levels over time.  However, the default behaviour (i.e. optimisation level  1)
              will not be changed in the 4.3.x release series.  The findutils test suite runs all
              the tests on find at each optimisation level and ensures that  the  result  is  the
              same.

EXPRESSION
       The part of the command line after the list of starting points is the expression.  This is
       a kind of query specification describing how we match files and what we do with the  files
       that were matched.  An expression is composed of a sequence of things:

       Tests  Tests return a true or false value, usually on the basis of some property of a file
              we are considering.  The -empty test for example is true only when the current file
              is empty.

       Actions
              Actions  have  side effects (such as printing something on the standard output) and
              return either true or false, usually based on whether or not they  are  successful.
              The  -print  action for example prints the name of the current file on the standard
              output.

       Global options
              Global options affect the operation of tests and actions specified on any  part  of
              the  command line.  Global options always return true.  The -depth option for exam‐
              ple makes find traverse the file system in a depth-first order.

       Positional options
              Positional options affect only tests or actions which follow them.  Positional  op‐
              tions  always return true.  The -regextype option for example is positional, speci‐
              fying the regular expression dialect for regular expressions occurring later on the
              command line.

       Operators
              Operators  join  together  the other items within the expression.  They include for
              example -o (meaning logical OR) and -a (meaning logical AND).  Where an operator is
              missing, -a is assumed.

       The -print action is performed on all files for which the whole expression is true, unless
       it contains an action other than -prune or  -quit.   Actions  which  inhibit  the  default
       -print are -delete, -exec, -execdir, -ok, -okdir, -fls, -fprint, -fprintf, -ls, -print and
       -printf.

       The -delete action also acts like an option (since it implies -depth).

   POSITIONAL OPTIONS
       Positional options always return true.  They affect only tests occurring later on the com‐
       mand line.

       -daystart
              Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the begin‐
              ning of today rather than from 24 hours ago.  This option only affects tests  which
              appear later on the command line.

   POSITIONAL OPTIONS
       Positional options always return true.  They affect only tests occurring later on the com‐
       mand line.

       -daystart
              Measure times (for -amin, -atime, -cmin, -ctime, -mmin, and -mtime) from the begin‐
              ning of today rather than from 24 hours ago.  This option only affects tests  which
              appear later on the command line.

       -follow
              Deprecated;  use  the  -L  option  instead.   Dereference  symbolic links.  Implies
              -noleaf.  The -follow option affects only those tests which appear after it on  the
              command  line.   Unless the -H or -L option has been specified, the position of the
              -follow option changes the behaviour of the -newer predicate; any files  listed  as
              the  argument  of -newer will be dereferenced if they are symbolic links.  The same
              consideration applies to -newerXY, -anewer and -cnewer.  Similarly, the -type pred‐
              icate will always match against the type of the file that a symbolic link points to
              rather than the link itself.  Using -follow causes the -lname  and  -ilname  predi‐
              cates always to return false.

       -regextype type
              Changes  the regular expression syntax understood by -regex and -iregex tests which
              occur later on the command line.  To see which regular expression types are  known,
              use -regextype help.  The Texinfo documentation (see SEE ALSO) explains the meaning
              of and differences between the various types of regular expression.

       -warn, -nowarn
              Turn warning messages on or off.  These warnings apply only to the command line us‐
              age,  not to any conditions that find might encounter when it searches directories.
              The default behaviour corresponds to -warn if standard  input  is  a  tty,  and  to
              -nowarn  otherwise.   If  a  warning message relating to command-line usage is pro‐
              duced, the exit status of find is not affected.  If the POSIXLY_CORRECT environment
              variable  is  set, and -warn is also used, it is not specified which, if any, warn‐
              ings will be active.

   GLOBAL OPTIONS
       Global options always return true.  Global options take effect even for tests which  occur
       earlier on the command line.  To prevent confusion, global options should specified on the
       command-line after the list of start points, just before the first test, positional option
       or  action.  If you specify a global option in some other place, find will issue a warning
       message explaining that this can be confusing.

       The global options occur after the list of start points, and so are not the same  kind  of
       option as -L, for example.
       -d     A synonym for -depth, for compatibility with FreeBSD, NetBSD, MacOS X and OpenBSD.

       -depth Process  each directory's contents before the directory itself.  The -delete action
              also implies -depth.

       -files0-from file
              Read the starting points from file instead of getting them on the command line.  In
              contrast  to  the known limitations of passing starting points via arguments on the
              command line, namely the limitation of the amount of file names, and  the  inherent
              ambiguity  of  file  names  clashing with option names, using this option allows to
              safely pass an arbitrary number of starting points to find.

              Using this option and passing starting points on the command line is  mutually  ex‐
              clusive, and is therefore not allowed at the same time.

              The  file  argument  is  mandatory.  One can use -files0-from - to read the list of
              starting points from the standard input stream, and e.g.  from  a  pipe.   In  this
              case,  the actions -ok and -okdir are not allowed, because they would obviously in‐
              terfere with reading from standard input in order to get a user confirmation.

              The starting points in file have to be separated by ASCII NUL characters.  Two con‐
              secutive NUL characters, i.e., a starting point with a Zero-length file name is not
              allowed and will lead to an error diagnostic  followed  by  a  non-Zero  exit  code
              later.

              In  the  case the given file is empty, find does not process any starting point and
              therefore will exit immediately after parsing the program arguments.  This  is  un‐
              like  the  standard invocation where find assumes the current directory as starting
              point if no path argument is passed.

              The processing of the starting points is otherwise as usual, e.g.   find  will  re‐
              curse into subdirectories unless otherwise prevented.  To process only the starting
              points, one can additionally pass -maxdepth 0.

              Further notes: if a file is listed more than once in the input file, it is unspeci‐
              fied whether it is visited more than once.  If the file is mutated during the oper‐
              ation of find, the result is unspecified  as  well.   Finally,  the  seek  position
              within the named file at the time find exits, be it with -quit or in any other way,
              is also unspecified.  By "unspecified" here is meant that it may or may not work or
              do  any specific thing, and that the behavior may change from platform to platform,
              or from findutils release to release.

       -help, --help
             Print a summary of the command-line usage of find and exit.

       -ignore_readdir_race
              Normally, find will emit an error message when it fails to stat  a  file.   If  you
              give  this option and a file is deleted between the time find reads the name of the
              file from the directory and the time it tries to stat the file,  no  error  message
              will be issued.  This also applies to files or directories whose names are given on
              the command line.  This option takes effect at the time the command line  is  read,
              which  means  that you cannot search one part of the filesystem with this option on
              and part of it with this option off (if you need to do that, you will need to issue
              two find commands instead, one with the option and one without it).

              Furthermore,  find  with  the -ignore_readdir_race option will ignore errors of the
              -delete action in the case the file has disappeared since the parent directory  was
              read:  it  will  not output an error diagnostic, and the return code of the -delete
              action will be true.

       -maxdepth levels
              Descend at most levels (a non-negative integer) levels  of  directories  below  the
              starting-points.   Using  -maxdepth 0 means only apply the tests and actions to the
              starting-points themselves.

       -mindepth levels
              Do not apply any tests or actions at levels less than levels (a non-negative  inte‐
              ger).  Using -mindepth 1 means process all files except the starting-points.

       -mount Don't  descend  directories on other filesystems.  An alternate name for -xdev, for
              compatibility with some other versions of find.

       -noignore_readdir_race
              Turns off the effect of -ignore_readdir_race.

       -noleaf
              Do not optimize by assuming that directories contain 2  fewer  subdirectories  than
              their  hard  link  count.  This option is needed when searching filesystems that do
              not follow the Unix directory-link convention, such as CD-ROM or MS-DOS filesystems
              or  AFS  volume  mount  points.   Each directory on a normal Unix filesystem has at
              least 2 hard links: its name and its `.' entry.  Additionally,  its  subdirectories
              (if any) each have a `..' entry linked to that directory.  When find is examining a
              directory, after it has statted 2 fewer subdirectories than  the  directory's  link
              count,  it  knows that the rest of the entries in the directory are non-directories
              (`leaf' files in the directory tree).  If only the files' names need  to  be  exam‐
              ined,  there  is  no need to stat them; this gives a significant increase in search
              speed.

       -version, --version
              Print the find version number and exit.

       -xdev  Don't descend directories on other filesystems.
  TESTS
       Some tests, for example -newerXY and -samefile, allow comparison  between  the  file  cur‐
       rently  being  examined and some reference file specified on the command line.  When these
       tests are used, the interpretation of the reference file is determined by the options  -H,
       -L  and  -P and any previous -follow, but the reference file is only examined once, at the
       time the command line is parsed.  If the reference file cannot be examined  (for  example,
       the  stat(2)  system call fails for it), an error message is issued, and find exits with a
       nonzero status.

       A numeric argument n can be specified to tests (like -amin, -mtime, -gid,  -inum,  -links,
       -size, -uid and -used) as

       +n     for greater than n,

       -n     for less than n,

       n      for exactly n.

       Supported tests:

       -amin n
              File was last accessed less than, more than or exactly n minutes ago.

       -anewer reference
              Time  of  the  last access of the current file is more recent than that of the last
              data modification of the reference file.  If reference is a symbolic link  and  the
              -H  option  or the -L option is in effect, then the time of the last data modifica‐
              tion of the file it points to is always used.

       -atime n
              File was last accessed less than, more than or exactly n*24 hours ago.   When  find
              figures out how many 24-hour periods ago the file was last accessed, any fractional
              part is ignored, so to match -atime +1, a file has to have been accessed  at  least
              two days ago.

       -cmin n
              File's status was last changed less than, more than or exactly n minutes ago.

       -cnewer reference
              Time  of the last status change of the current file is more recent than that of the
              last data modification of the reference file.  If reference is a symbolic link  and
              the -H option or the -L option is in effect, then the time of the last data modifi‐
              cation of the file it points to is always used.

       -ctime n
              File's status was last changed less than, more than or exactly n*24 hours ago.  See
              the  comments  for  -atime to understand how rounding affects the interpretation of
              file status change times.

       -empty File is empty and is either a regular file or a directory.

       -executable
              Matches files which are executable and directories which are searchable (in a  file
              name resolution sense) by the current user.  This takes into account access control
              lists and other permissions artefacts which the  -perm  test  ignores.   This  test
              makes  use  of the access(2) system call, and so can be fooled by NFS servers which
              do UID mapping (or root-squashing), since many systems implement access(2)  in  the
              client's  kernel  and so cannot make use of the UID mapping information held on the
              server.  Because this test is based only on the  result  of  the  access(2)  system
              call,  there  is no guarantee that a file for which this test succeeds can actually
              be executed.

       -false Always false.

       -fstype type
              File is on a filesystem of type type.  The valid filesystem types vary  among  dif‐
              ferent  versions  of Unix; an incomplete list of filesystem types that are accepted
              on some version of Unix or another is: ufs, 4.2, 4.3, nfs, tmp,  mfs,  S51K,  S52K.
              You can use -printf with the %F directive to see the types of your filesystems.
       -gid n File's numeric group ID is less than, more than or exactly n.

       -group gname
              File belongs to group gname (numeric group ID allowed).

       -ilname pattern
              Like  -lname,  but  the match is case insensitive.  If the -L option or the -follow
              option is in effect, this test returns false unless the symbolic link is broken.

       -iname pattern
              Like -name, but the match is case insensitive.  For example, the patterns `fo*' and
              `F??'  match  the  file names `Foo', `FOO', `foo', `fOo', etc.  The pattern `*foo*`
              will also match a file called '.foobar'.

       -inum n
              File has inode number smaller than, greater than or exactly n.  It is normally eas‐
              ier to use the -samefile test instead.

       -ipath pattern
              Like -path.  but the match is case insensitive.

       -iregex pattern
              Like -regex, but the match is case insensitive.

       -iwholename pattern
              See -ipath.  This alternative is less portable than -ipath.

       -links n
              File has less than, more than or exactly n hard links.

       -lname pattern
              File  is a symbolic link whose contents match shell pattern pattern.  The metachar‐
              acters do not treat `/' or `.' specially.  If the -L option or the  -follow  option
              is in effect, this test returns false unless the symbolic link is broken.

       -mmin n
              File's data was last modified less than, more than or exactly n minutes ago.

       -mtime n
              File's  data was last modified less than, more than or exactly n*24 hours ago.  See
              the comments for -atime to understand how rounding affects  the  interpretation  of
              file modification times.

       -name pattern
              Base  of  file  name  (the path with the leading directories removed) matches shell
              pattern pattern.  Because the leading directories are removed, the file names  con‐
              sidered  for  a  match  with  -name will never include a slash, so `-name a/b' will
              never match anything (you probably need to use -path instead).  A warning is issued
              if you try to do this, unless the environment variable POSIXLY_CORRECT is set.  The
              metacharacters (`*', `?', and `[]') match a `.' at the start of the base name (this
              is  a  change in findutils-4.2.2; see section STANDARDS CONFORMANCE below).  To ig‐
              nore a directory and the files under it, use -prune rather than checking every file
              in  the  tree;  see  an  example in the description of that action.  Braces are not
              recognised as being special, despite the fact that some shells including Bash imbue
              braces  with  a  special  meaning in shell patterns.  The filename matching is per‐
              formed with the use of the fnmatch(3) library function.  Don't  forget  to  enclose
              the pattern in quotes in order to protect it from expansion by the shell.

       -newer reference
              Time  of the last data modification of the current file is more recent than that of
              the last data modification of the reference file.  If reference is a symbolic  link
              and  the  -H  option  or the -L option is in effect, then the time of the last data
              modification of the file it points to is always used.

       -newerXY reference
              Succeeds if timestamp X of the file being considered is newer than timestamp  Y  of
              the file reference.  The letters X and Y can be any of the following letters:

              a   The access time of the file reference
              B   The birth time of the file reference
              c   The inode status change time of reference
              m   The modification time of the file reference
              t   reference is interpreted directly as a time

              Some combinations are invalid; for example, it is invalid for X to be t.  Some com‐
              binations are not implemented on all systems; for example B is not supported on all
              systems.   If an invalid or unsupported combination of XY is specified, a fatal er‐
              ror results.  Time specifications are interpreted as for the argument to the -d op‐
              tion  of  GNU  date.  If you try to use the birth time of a reference file, and the
              birth time cannot be determined, a fatal error message results.  If you  specify  a
              test  which  refers  to the birth time of files being examined, this test will fail
              for any files where the birth time is unknown.

       -nogroup
              No group corresponds to file's numeric group ID.

       -nouser
              No user corresponds to file's numeric user ID.

.......
.......
.......

Last updated