fd CLI
fd is a file-search CLI whose results feed other programs; hidden and ignored paths are included only when requested.
- 44,998 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- Search reads the filesystem; execution flags can run a chosen command on all matches.
Install
Manual install
apt install fd-findFirst README method for Ubuntu; the installed command is fdfind.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Search reads the filesystem; execution flags can run a chosen command on all matches.
This is third-party code. Review the repository files before installing.
What it does
fd is a file-search CLI that finds files and directories by a name pattern under the current or selected directory. Filters cover extensions, entry types and full paths. It excludes hidden and Git-ignored files by default. Results can be passed to another program, with options to execute a command for each match or once for the complete list.
Who it is for. Repository maintainers locating files by name and preparing precise processing lists.
Good fit when
- You know part of a configuration filename but not its directory.
- A check needs files of a specific extension.
- An excluded configuration file requires an explicitly broader search.
- A reviewed set of paths should be passed to a processing tool.
Not a fit when
- You need content search without knowing filenames.
- A script relies on the full GNU find feature set.
- Files must remain untouched but an unreviewed execution command is attached.
Example request
Find all Markdown files in the documentation, including hidden directories, and show the list without executing actions on them.Limitations
By default, the pattern is a regular expression, so dots and other special characters may not match literally. Hidden and Git-ignored paths need separate inclusion flags. Ubuntu’s fd-find package installs the fdfind command; scripts need that name. Commands for matched files may run concurrently. If they write to one output file or depend on ordering, arrange the sequence and concurrency limit before processing.
How to disable. Uninstall the package and remove any aliases or links you created. Searches do not create a persistent index.
FAQ
Why is a hidden file missing?
Hidden paths are excluded by default. Add `-H` and retry in the intended directory.
How do I find a Git-ignored file?
Add `-I`; include hidden paths separately if needed.
Can I use a filename glob?
Yes. `-g` enables filename glob matching. Quote the pattern so the shell passes it to fd without expanding it.
How do I filter by extension?
Use `-e`, as in `fd -e md`. The result lists paths with the selected extension.
Why is the command called fdfind?
Ubuntu uses that name to avoid a naming conflict. Use it directly or configure a consistent link.
Discussion
No questions or reviews yet.
Related
CLI toolsClifm is a file manager that opens a batch of filenames in an editor and asks for confirmation before renaming them.
broot is a terminal file manager that calculates directory sizes in the background to show large folders before cleanup.
sad is a text-replacement CLI with literal matching: dots and parentheses can be searched as characters without regex syntax.
Terminal fuzzy search helps users select files, text and repositories before passing an exact path or snippet to an agent.
zoxide is a directory-jump tool with interactive zi selection when a short name matches more than one folder.
nnn manages files in a terminal with selection, batch renaming, disk analysis, bookmarks and optional plugin extensions.
README in short
A pattern containing an uppercase letter enables case-sensitive matching. Results can feed an interactive file picker.