Linux How to Find File by Name
To search for files on the disk, you can use the find command. The find command has the following syntax:
find /where_to_start -name "name_of_file"
If you do not mention the parameter /where_to_start, it will automatically search in the current directory. The current directory, which you currently stand, is available by typing pwd command. The second parameter -name “name_of_file” – is shown filter. This filter shows only those files in which there is a string “name_of_file”. You can also include an asterisk, for example: “name_of_file.*”.
If you want to recursively overview /etc directory and find all files that have the extension “.conf”, you can do it this way:
find /etc -name "*.conf"
If the find command does not access to any folder, it write error about it. If you do not run the command as super user, it is better to redirect error messages to $HOME/find_errors or to trash /dev/null.
In next example we redirect errors to file find_errors that will be situated in our home folder:
find /etc -name "*.conf" 2> $HOME/find_errors
In next example we redirect errors to the system trash:
find /etc -name "*.conf" 2> /dev/null
To find file by a name, ignoring the case use option -iname:
find /etc -iname "name_of_file"
If you want to find all files these don’t match the pattern:
find /etc -not -name ".*.conf"