Difference between revisions of "Find"
Jump to navigation
Jump to search
Line 8: | Line 8: | ||
:Limit the search to the current file-system, to not go into mounted filesystems. | :Limit the search to the current file-system, to not go into mounted filesystems. | ||
− | ;<code>find <directory> -type f -name '<spec>' - | + | ;<code>find <directory> -type f -name '<spec>' -execdir <command> {} \;</code> |
− | :For each file found execute <command> {} represents the found file. NOTE!! Do not forget the \; at the end. | + | :For each file found execute <command> in the directory containing the file. {} represents the found file. NOTE!! Do not forget the \; at the end. |
+ | : -exec works too but is less secure as mistakes main lead to execution in an unexpected place. | ||
;<code>find <directory> -type f -name '<spec>' -mtime 1 </code> | ;<code>find <directory> -type f -name '<spec>' -mtime 1 </code> |
Revision as of 11:20, 2 March 2022
Find things in a directory tree
find <directory> -type f -name '<spec>'
- Find file in and below <directory> that match <spec>. Type f is for files, d for directory's, no type finds all.
find <directory> -xdev -name <spec>'
- Limit the search to the current file-system, to not go into mounted filesystems.
find <directory> -type f -name '<spec>' -execdir <command> {} \;
- For each file found execute <command> in the directory containing the file. {} represents the found file. NOTE!! Do not forget the \; at the end.
- -exec works too but is less secure as mistakes main lead to execution in an unexpected place.
find <directory> -type f -name '<spec>' -mtime 1
- Find files modified 1 day ago (between 24 and 48 hours).
- Negative numbers find all files modified max 1 day ago.
- Positive numbers (explicitly signed with +) find all files at modified at least 1 day ago.
-mmin
counts minutes instead of days.
find <directory> -type f -name '<spec>' -printf '%T@ %p\n'
- Print the files modification times in epoch (seconds since Jan 1, 1970) and the filename. Can be used e.g. to find the last files modified (with sort -n and tail)
- find <dir> -printf '%s %p\n'| sort -nr | head -10
- Find the top 10 largest files under a directory