How to Find Files Matching a Path Pattern in Ubuntu Linux (find -path)

The Directory Filter

When searching a massive Ubuntu Linux server, searching purely by filename is often too broad. For example, if you run a basic search for a file named config.php, the server might return hundreds of results from entirely different projects. If you know that the specific configuration file you need is buried somewhere inside a subdirectory named “admin,” you need a way to filter the search results based on the names of the folders in the absolute path, not just the name of the final file itself.

Using the find Command with -path

The Linux find command utilizes the -path flag to force the search engine to match a wildcard pattern against the entire directory path leading up to the file.

  1. Open your Terminal application (Ctrl + Alt + T) or log into your server via SSH.
  2. To search the /var/www/ directory for a file named config.php, but only if the word “admin” appears anywhere in the folder path, type the following command exactly:
  3. sudo find /var/www/ -path "*admin*" -name "config.php"
  4. Press Enter and provide your administrator password.

The Power of Wildcards

The critical part of the -path syntax is the use of wildcard asterisks (*). Because the search engine evaluates the absolute path (e.g., /var/www/html/backend/admin/core/config.php), you must wrap your target word in asterisks so it matches regardless of what comes before or after it in the directory tree. This allows you to instantly slice through thousands of irrelevant files and pinpoint exactly what you need based on the folder structure.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.