Living in the Shell #9; find (File/Directory Search) (Part 1)
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 prefergrep
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"
About Living in the Shell
Obsessed with doing things in the shell, I’ve decided to share my daily struggles on living in the shell as terse but informative posts.