Living in the Shell #9; find (Files/Directories Search) (Part 1)

Living in the Shell #9; find (Files/Directories Search) (Part 1)

ยท

1 min read

find ๐Ÿ”

Finds files matching given criteria.

Find by name -name/-iname

find /home/babak -name "*bash*"
  • Finds all files/directories matching *bash* descended from /home/babak.
  • Use -iname for case-insensitive search.

Find by matching on path -path/-ipath

find ~ -path "*/config/*"
  • Finds all files/directories that their path string include "/config/".
  • Use -ipath for case-insensitive search.

Find by RE pattern -regex/-iregex

find ~ -regextype egrep -regex '.*/(conf|config)$'
  • Finds all files/directories that their path end with "config" or "conf".
  • Use -iregex for case-insensitive search.
  • Use -regextype egrep if you prefer grep extended RE format.

Find files (exclude directories) -type f

find ~ -type f -name "*bash*"

Find directories -type d

find ~ -type d -name "Do*"

Limit recursion depth -maxdepth/-mindepth

find ~ -maxdepth 2 -type f -name "*.txt"
ย