Find: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
Line 3: Line 3:
* [[Linux#Commands|Linux]]
* [[Linux#Commands|Linux]]


=Usage=
=Numeric Arguments=
 
==Numeric Arguments==


All numeric arguments are interpreted as follows:
All numeric arguments are interpreted as follows:
Line 13: Line 11:
: -n for less than n
: -n for less than n


==Target Type==
=Target Type=


<pre>
find . -type <type-identifier>
find . -type <type-identifier>
</pre>


where the type identifier can be:
where the type identifier can be:
Line 29: Line 25:
* s socket
* s socket


==Case Insensitive Search==
=Case Insensitive Search=


<pre>
find . -iname ...
find . -iname ...
</pre>


==Control Descend Depth==
=Control Descend Depth=


The upper and lower limit of the descend depth can be controlled with -mindepth and -maxdepth, as follows:
The upper and lower limit of the descend depth can be controlled with -mindepth and -maxdepth, as follows:


<pre>
find . -mindepth n
find . -mindepth n
</pre>


Configure find to apply tests and action at levels equal or deeper than n.  -mindepth 1 processes the content of the directory specified as argument and recursively the content of its sub-directories.
Configure find to apply tests and action at levels equal or deeper than n.  -mindepth 1 processes the content of the directory specified as argument and recursively the content of its sub-directories.


<pre>
find . -maxdepth n
find . -maxdepth n
</pre>
 
Configure find to descend at most n directory levels below the command line arguments.  -maxdepth 0 limits the whole search to the command line arguments.
Configure find to descend at most n directory levels below the command line arguments.  -maxdepth 0 limits the whole search to the command line arguments.


In order to access directory between an upper and lower depth limit, both  -mindepth and -maxdepth should be used.
In order to access directory between an upper and lower depth limit, both  -mindepth and -maxdepth should be used.


==Time Constraints==
=Time Constraints=
 


For interpretation of numeric arguments (+-n), see: [[#Numeric_Arguments|Numeric Arguments]].
For interpretation of numeric arguments (+-n), see: [[#Numeric_Arguments|Numeric Arguments]].
Line 70: Line 59:
Find all files modified less that 2 days ago
Find all files modified less that 2 days ago


<pre>
find . -mtime -2
find . -mtime -2
</pre>


==-name Patterns==
=-name Patterns=


A pattern for file names with specific characters on specific positions can be specified with [...]:
A pattern for file names with specific characters on specific positions can be specified with [...]:
Line 82: Line 69:
looks for *.jar and *.war.
looks for *.jar and *.war.


===Mac Detail===
==Mac Detail==


On Mac, the pattern must be specified between quotes:
On Mac, the pattern must be specified between quotes:


  find . -name "*.something"
  find . -name "*.something"

Revision as of 02:12, 26 February 2018

Internal

Numeric Arguments

All numeric arguments are interpreted as follows:

+n for greater than n
n for exactly n
-n for less than n

Target Type

find . -type <type-identifier>

where the type identifier can be:

  • f regular file
  • d directory
  • l symbolic link
  • b block special
  • c character special
  • p FIFO
  • s socket

Case Insensitive Search

find . -iname ...

Control Descend Depth

The upper and lower limit of the descend depth can be controlled with -mindepth and -maxdepth, as follows:

find . -mindepth n

Configure find to apply tests and action at levels equal or deeper than n. -mindepth 1 processes the content of the directory specified as argument and recursively the content of its sub-directories.

find . -maxdepth n

Configure find to descend at most n directory levels below the command line arguments. -maxdepth 0 limits the whole search to the command line arguments.

In order to access directory between an upper and lower depth limit, both -mindepth and -maxdepth should be used.

Time Constraints

For interpretation of numeric arguments (+-n), see: Numeric Arguments.

Time flags:

  • -amin n - file was accessed n minutes ago.
  • -anewer file - file was accessed more recently than file was modified.
  • -atime n - file was accessed n * 24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, the 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 n minutes ago
  • -cnewer file
  • -ctime n - file's status was last changed n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file status change times.
  • -mmin n -
  • -mtime n - file's data was last modified n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file modification times.

Find all files modified less that 2 days ago

find . -mtime -2

-name Patterns

A pattern for file names with specific characters on specific positions can be specified with [...]:

find . -name *.[jw]ar

looks for *.jar and *.war.

Mac Detail

On Mac, the pattern must be specified between quotes:

find . -name "*.something"