How can I find a file/directory that could be anywhere on linux command line?

bash, find, ksh, linux, locate

Solution

"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.

Problem

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.

Original source

Related problems