Difference between revisions of "Find"

From Linuxintro
imported>ThorstenStaerk
 
(7 intermediate revisions by one other user not shown)
Line 1: Line 1:
 
Find allows you to find files, e.g.
 
Find allows you to find files, e.g.
 +
 +
= find by name =
 +
To find a file in your current folder and its subfolders, even if they are symbolic links, use the command
 +
find -L -iname "*''foo''*"
 +
This command will find all files containing ''foo'' in their filename ignoring case sensitivity.
  
 
= find by time =
 
= find by time =
  
== find files older than ... ==
+
== find files older than... ==
To find files in ''folder'' that are older than ''5'' days use
+
To find files in ''folder'' that have been changed more than ''1'' day ago use
  find ''folder'' -ctime +''5'' -exec ls {} \;
+
  find ''folder'' -ctime +1
 +
To find out how old a file is, use the [[command]] [[stat]].
  
== file modification ==
+
== find files newer than... ==
To find files whose content has been modified ''1'' days ago or earlier use
+
To find files in ''folder'' that have been changed less than ''1'' day ago use
  find . -mtime -1
+
  find ''folder'' -ctime -1
 +
To find out how old a file is, use the [[command]] [[stat]].
  
 
= find files that have content =
 
= find files that have content =
Line 16: Line 23:
 
= find files by content =
 
= find files by content =
 
To find files by content you do not use find, but [[grep]].
 
To find files by content you do not use find, but [[grep]].
 +
 +
= Do something with the file =
 +
find . -name '*.mp3' -exec echo "Do something with the file" {} \;
  
 
= See also =
 
= See also =
* [http://man-wiki.net/index.php/1:find find's man page]
+
* [http://www.manpagez.com/man/1/find/ find's man page]
 +
* [http://unixhelp.ed.ac.uk/CGI/man-cgi?locate+1 locate's man page]
 +
* [http://unixhelp.ed.ac.uk/CGI/man-cgi?locate+1 whereis' man page]
 +
* [http://unixhelp.ed.ac.uk/CGI/man-cgi?locate+1 which's man page]
 +
 
 +
[[Category:Command]]

Latest revision as of 10:06, 27 November 2021

Find allows you to find files, e.g.

find by name

To find a file in your current folder and its subfolders, even if they are symbolic links, use the command

find -L -iname "*foo*"

This command will find all files containing foo in their filename ignoring case sensitivity.

find by time

find files older than...

To find files in folder that have been changed more than 1 day ago use

find folder -ctime +1

To find out how old a file is, use the command stat.

find files newer than...

To find files in folder that have been changed less than 1 day ago use

find folder -ctime -1

To find out how old a file is, use the command stat.

find files that have content

find -not -empty -iname "foo*"

find files by content

To find files by content you do not use find, but grep.

Do something with the file

find . -name '*.mp3' -exec echo "Do something with the file" {} \;

See also