fd: Alternative to find command
Fast Rust-based file search utility with simpler syntax than find, regex support, and parallel traversal.
Learn more about fd
fd is a filesystem search tool designed as an alternative to the Unix find command. It implements parallelized directory traversal using Rust's concurrency features to search through filesystem hierarchies. The tool uses regular expressions as the default pattern matching mechanism and integrates with Git repositories by respecting .gitignore patterns. fd supports command execution on search results, file extension filtering, and provides colored output for different file types.
Parallel Traversal
Uses concurrent directory scanning to search multiple filesystem paths simultaneously, reducing search time on large directory structures.
Git Integration
Automatically respects .gitignore patterns and excludes hidden files by default, making it suitable for development workflows.
Regex by Default
Treats search patterns as regular expressions natively, eliminating the need for complex find command syntax for pattern matching.
# Find files containing 'netfl' in their name
fd netfl
# Search for files matching a regex pattern (start with 'x', end with 'rc')
fd '^x.*rc$' /etc
# Search for files with specific extension
fd -e md
fd -e rs modway dates given to options such `--changed-within` and `--changed-before` including:
- –Add a hidden `--mindepth` alias for `--min-depth`. (#1617)
- –Replace `humantime` crate and `chrono` crate with `jiff` crate, see #1690 (@sorairolake). This has some small changes to the
- –'M' no longer means "month", as that could be confusing with minutes. Use "mo", "mos", "month" or "months" instead.
- –month and year now account for variability in the calander rather than being a hard-coded number of seconds. That is probably
- –aarch64 Windows was added to CI and release artifacts
v10.2.0
- –Add --hyperlink option to add OSC 8 hyperlinks to output
- –Build windows releases with rust 1.77 so windows 7 is still supported
- –Deb packages now include symlink for fdfind to be more consistent with official packages
- –@bryanhonof made their first contribution in
- –@JCHacking made their first contribution in
v10.1.0
- –Allow passing an optional argument to `--strip-cwd-prefix` of "always", "never", or "auto". to force whether the cwd prefix is stripped or not.
- –Add a `--format` option which allows using a format template for direct ouput similar to the template used for `--exec`. (#1043)
- –Fix aarch64 page size again. This time it should actually work. (#1085, #1549) (@tavianator)
- –aarch64-apple-darwin target added to builds on the release page. Note that this is a tier 2 rust target.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
bun
Fast JavaScript runtime with built-in bundler and package manager.
Bubble Tea
Go framework for terminal user interfaces based on The Elm Architecture with inline/fullscreen modes.
plotly.py
Interactive browser-based charts from Python with declarative API.
Instaloader
Python CLI for downloading Instagram posts, stories, profiles, and metadata.
code-server
Run VS Code on remote servers via browser.