Skipping specified directories when using the find command

Skipping certain subdirectories may improve performance during the operation of find. For example, when searching for files in a development source tree under a version control system such as Git, the filesystem contains a directory in each of the subdirectories where version-control-related information is stored. These directories may not contain useful files and should be excluded from the search.

The technique of excluding files and directories is known as pruning. The following example shows how to use the -prune option to exclude files that match a pattern.

$ find devel/source_path  -name '.git' -prune -o -type f -print

The -name ".git" -prune is the pruning section, which specifies that .git directories should be excluded. The -type f -print section describes the action to be performed.