Fast file and directory finder with regex support, parallel search, and gitignore awareness
fd is a command-line file and directory search tool that serves as an alternative to the traditional find command. It uses regular expressions by default and provides parallelized directory traversal for faster search performance. The tool features smart case sensitivity that switches to case-sensitive matching when the pattern contains uppercase characters.
fd integrates with Git workflows by automatically ignoring files and directories listed in .gitignore files, and it ignores hidden files by default unless explicitly requested with the -H flag. The tool supports glob patterns via the -g option, file extension filtering with -e, and full path matching with -p. It uses colors to highlight different file types similar to ls.
The tool excels at command execution workflows through its -x and -X options, allowing users to run external commands on search results either individually or in batch mode. This makes it useful for tasks like bulk file operations, format conversion, or integration with other tools like ripgrep for content searching within specific file types. fd supports placeholder syntax for command templates, including {} for full paths, {.} for paths without extensions, and {/} for basenames.
fd is particularly useful for developers and system administrators who need fast file discovery with sensible defaults. It supports custom ignore patterns through .fdignore files and can exclude specific patterns using the -E option, making it adaptable to different project structures and workflows.