Difference between revisions of "Find"

From wikieduonline
Jump to navigation Jump to search
 
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<code>[[w:find (Unix)|find]]</code><ref>http://man7.org/linux/man-pages/man1/find.1.html</ref> is a command-line utility that searches for files in one or more directory trees of a file system. Available in Linux, included in <code>findutils</code> packages, and in Windows.
+
{{lc}}
 +
<code>[[wikipedia:find (Unix)|find]]</code><ref>http://man7.org/linux/man-pages/man1/find.1.html</ref> is a command-line utility that searches for files in one or more directory trees of a file system. Available in Linux, included in <code>[[findutils]]</code> packages, and in Windows.
 +
 
 +
[[find --help]]
 +
 
 +
 
 +
== Options ==
 +
* <code>[[-xdev]]</code> or <code>-mount</code> Don't descend/traverse directories on other filesystems.
  
 
== Linux Example commands ==
 
== Linux Example commands ==
 
* Search files between a size range:
 
* Search files between a size range:
** <code>find . -size +10G</code>
+
** <code>[[find .]] -size +10G</code>
 
** <code>find . -size +100k -a -size -500k</code>
 
** <code>find . -size +100k -a -size -500k</code>
 
* Search empty files: <code>find . -size 0k</code>
 
* Search empty files: <code>find . -size 0k</code>
 
* Search non-empty files: <code>find . ! -size 0k</code>
 
* Search non-empty files: <code>find . ! -size 0k</code>
 
* One line listing with sizes using ls and find: <code>[[linux/Basic commands/ls|ls]] -ldh $(find /path/to/search/)</code>
 
* One line listing with sizes using ls and find: <code>[[linux/Basic commands/ls|ls]] -ldh $(find /path/to/search/)</code>
* One line filename and directory listing with full path: <code>find . -name "*"</code>
+
* One line filename and directory listing with full path: <code>[[find . -name]] "*"</code>
 
* One line filename and NOT directory . listing with full path: <code>find . -type f -exec ls \{\} \;</code>
 
* One line filename and NOT directory . listing with full path: <code>find . -type f -exec ls \{\} \;</code>
 +
* List [[files]] but not [[directories]]: <code>[[find . -type f]]</code>
 +
 
* Search for [[hard links]]: <code>find /path/to/search -samefile /path/to/your/file</code><ref>https://www.cyberciti.biz/faq/how-to-find-all-hard-links-in-a-directory-on-linux/</ref> (See also: <code>stat</code>)
 
* Search for [[hard links]]: <code>find /path/to/search -samefile /path/to/your/file</code><ref>https://www.cyberciti.biz/faq/how-to-find-all-hard-links-in-a-directory-on-linux/</ref> (See also: <code>stat</code>)
 
* Order by size:  
 
* Order by size:  
** <code>find . -type f -ls | sort -rnk7 | more</code> or <code>[[ls]] -lR | grep '^-' | sort -rnk5</code>
+
** <code>find . -type f -ls | sort -[[rnk7]] | more</code> or <code>[[ls]] -lR | grep '^-' | sort -rnk5</code>
 
*** <code>find / -type f -not -path "/[[proc]]*" -ls | sort -rnk7 | more</code>
 
*** <code>find / -type f -not -path "/[[proc]]*" -ls | sort -rnk7 | more</code>
 
** <code>find . -ls 2>&1 | sort -rnk7 | more</code>
 
** <code>find . -ls 2>&1 | sort -rnk7 | more</code>
 +
 +
* Compress files with <code>[[xz]]</code> using all [[CPU]]s :
 +
** <code>find . -type f -not -name \*.xz -exec [[xz]] -[[T0]] --verbose \{\} \;</code>
 +
 +
* [[Delete]] files older than 5 days
 +
** <code>find /path/to/directory/ -mindepth 1 -mtime +5 -print</code>
 +
** <code>find /path/to/directory/ -mindepth 1 -mtime +5 [[-delete]]</code> [1]
 +
 +
[[/usr/lib/php/sessionclean (shell script)]]
 +
* <code>find "/proc/$pid/fd" -ignore_readdir_race -[[lname]] "$save_path/sess_*" -[[exec]] [[touch]] -c {} \</code>
  
 
== Activities ==
 
== Activities ==
# Identify differences between <code>find</code> and <code>ls</code>
+
* Identify differences between <code>find</code> and <code>[[ls]]</code>
 
+
* Read https://stackoverflow.com/questions/tagged/find?tab=Votes
  
== Related commands ==
+
== Related terms ==
 
* <code>[[df]]</code>
 
* <code>[[df]]</code>
 
* <code>[[du]]</code>: <code>du -sh -- *</code>
 
* <code>[[du]]</code>: <code>du -sh -- *</code>
 +
* <code>[[docker volume ls]]</code> and <code>[[docker system df]]</code>
 +
* [[mtime]]
 +
* [[MongoDB]]: <code>db.YOUR_[[COLLETION]]_NAME.[[find]] ()</code>
 +
* <code>[[ls]]</code>
 +
* <code>[[multipass find]]</code>
 +
* <code>[[aws-find]]</code>
 +
* <code>[[-maxdepth]]</code>
 +
* [[Find My Device]]
  
 
== See also ==
 
== See also ==
* {{fs}}
+
* {{find}}
 
* {{Linux filesystem commands}}
 
* {{Linux filesystem commands}}
* [[wikipedia:Find_(Windows)]]
+
* [[find_(Windows)]]
 
* {{mount}}
 
* {{mount}}
* [[No space left on device]]
+
* {{du}}
  
  
 
[[Category:Linux commands]]
 
[[Category:Linux commands]]
 
+
[[Category:find]]
  
 
{{CC license}}
 
{{CC license}}
 
Source: https://en.wikiversity.org/wiki/Linux/Basic_commands/find
 
Source: https://en.wikiversity.org/wiki/Linux/Basic_commands/find

Latest revision as of 09:58, 22 May 2024

find[1] is a command-line utility that searches for files in one or more directory trees of a file system. Available in Linux, included in findutils packages, and in Windows.

find --help


Options[edit]

  • -xdev or -mount Don't descend/traverse directories on other filesystems.

Linux Example commands[edit]

  • Search files between a size range:
    • find . -size +10G
    • find . -size +100k -a -size -500k
  • Search empty files: find . -size 0k
  • Search non-empty files: find . ! -size 0k
  • One line listing with sizes using ls and find: ls -ldh $(find /path/to/search/)
  • One line filename and directory listing with full path: find . -name "*"
  • One line filename and NOT directory . listing with full path: find . -type f -exec ls \{\} \;
  • List files but not directories: find . -type f
  • Search for hard links: find /path/to/search -samefile /path/to/your/file[2] (See also: stat)
  • Order by size:
    • find . -type f -ls | sort -rnk7 | more or ls -lR | grep '^-' | sort -rnk5
      • find / -type f -not -path "/proc*" -ls | sort -rnk7 | more
    • find . -ls 2>&1 | sort -rnk7 | more
  • Compress files with xz using all CPUs :
    • find . -type f -not -name \*.xz -exec xz -T0 --verbose \{\} \;
  • Delete files older than 5 days
    • find /path/to/directory/ -mindepth 1 -mtime +5 -print
    • find /path/to/directory/ -mindepth 1 -mtime +5 -delete [1]

/usr/lib/php/sessionclean (shell script)

  • find "/proc/$pid/fd" -ignore_readdir_race -lname "$save_path/sess_*" -exec touch -c {} \

Activities[edit]

Related terms[edit]

See also[edit]

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy.

Source: https://en.wikiversity.org/wiki/Linux/Basic_commands/find

Advertising: