how - linux find folder recursive
How can I find a file/directory that could be anywhere on linux command line? (4)
Ideally, I would be able to use a program like
find [file or directory name]
to report the paths with matching filenames/directories. Unfortunately this seems to only check the current directory, not the entire folder.
I've also tried locate and which, but none find the file, even though I know its on the computer somewhere.
"Unfortunately this seems to only check the current directory, not the entire folder". Presumably you mean it doesn't look in subdirectories. To fix this, use
find -name "filename"
If the file in question is not in the current working directory, you can search your entire machine via
find / -name "filename"
This also works with stuff like
find / -name "*.pdf", etc. Sometimes I like to pipe that into a grep statement as well (since, on my machine at least, it highlights the results), so I end up with something like
find / -name "*star*wars*" | grep star
Doing this or a similar method just helps me instantly find the filename and recognize if it is in fact the file I am looking for.
Below example will help to find the specific folder in the current directory. This example only search current direct and it'll search sub directory available in the current directory
#!/bin/bash result=$(ls -d operational) echo $result test="operational" if [ "$result" == "$test" ] then echo "TRUE" else echo "FALSE" fi
find command will take long time, the fastest way to search for file is using
locate command, which looks for file names (and path) in a indexed database (updated by command
The result will appear immediately with a simple command:
If the command is not found, you need to install
mlocate package and run
updatedb command first to prepare the search database for the first time.
To get rid of permission errors (and such), you can redirect stderr to nowhere
find / -name "something" 2>/dev/null