A cat(1) clone for the terminal with syntax highlighting, Git change markers, and automatic paging.
sharkdp/fd
A fast, user-friendly command-line alternative to the Unix find command for locating files and directories by name.
Open-source alternative to:find
- Stars
- 44,815
- Forks
- 1,180
- Open issues
- 217
- Last commit
- yesterday
What is it?
fd searches your filesystem for files and directories whose names match a pattern. It uses regular expressions by default, with glob patterns available via an option, and applies smart case so lowercase patterns match case-insensitively while patterns with uppercase characters match exactly.
Compared with find, fd skips hidden files and directories and entries listed in .gitignore by default, and its directory traversal runs in parallel. Results can be colorized by file type, and the -x and -X options run an external command on each result or on all results at once, with placeholders for path, basename and extension.
fd is written in Rust and installs through common package managers on Linux, macOS, Windows and BSD, as well as through Cargo, npm and prebuilt binaries.
Key features
- 01Regular expression search by default, with glob mode available.
- 02Smart case matching that switches to case-sensitive when the pattern has uppercase letters.
- 03Ignores hidden and .gitignore-listed entries by default, with options to include them.
- 04Parallel directory traversal for fast searches.
- 05Runs commands on results with -x (per result) or -X (batched), using placeholders like {} and {.}.
Use cases
- Finding a script or config file by part of its name in a large project tree.
- Listing all files of a given extension, such as every Markdown file in a repository.
- Batch-running a formatter or checksum tool over matching files.
- Piping search results into fzf or rofi for interactive selection.
Things to know
- It does not aim to support all of find's functionality, so some advanced find options are missing.
Topics
FAQ
- What is fd?
- A fast, user-friendly command-line alternative to the Unix find command for locating files and directories by name. fd searches your filesystem for files and directories whose names match a pattern. It uses regular expressions by default, with glob patterns available via an option, and applies smart case so lowercase patterns match case-insensitively while patterns with uppercase characters match exactly.
- Is fd free to use? What license does it have?
- fd is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is fd still maintained?
- Actively maintained. The last commit to fd was on Oct 20, 2026.
- What can I use fd for?
- Finding a script or config file by part of its name in a large project tree. Listing all files of a given extension, such as every Markdown file in a repository. Batch-running a formatter or checksum tool over matching files. Piping search results into fzf or rofi for interactive selection.
- Where can I get fd?
- The source code and installation instructions are on GitHub: https://github.com/sharkdp/fd
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A line-oriented regex search tool (rg) that recursively searches directories while respecting .gitignore rules by default.
A fast, neofetch-like command-line tool that displays system information alongside a customizable ASCII logo.
Termux is an Android terminal app and Linux environment that runs a shell with installable packages on your phone.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.
Python library for building CLI applications from standard type hints, with automatic help, validation and shell completion.