← All open source projects

fd

sharkdp/fd

fd is a fast and friendly terminal file search tool, an alternative to find with sensible defaults, regex, and .gitignore awareness.

Forks 1,077
Author sharkdp
Language Rust
License Apache-2.0
Synced 2026-06-27

What it is

fd is a terminal utility for finding files and directories. It positions itself as a simple, fast, and friendly alternative to classic `find`.

The project appeared from the observation that the power of `find` often comes with heavy syntax. Most daily searches need a short command and sensible behavior by default.

fd’s main task is to quickly find filesystem entries by name, regular expression, extension, or root directory.

What is inside

Inside the project are Rust code, documentation, README translations, installation rules, and many examples: simple search, regex, root directory, extensions, hidden files, and excludes.

fd does not try to cover every `find` feature. It deliberately chooses convenient defaults for most cases, including ignoring hidden noise and `.gitignore` rules.

How people use it

A normal scenario is that a developer remembers part of a file name, runs `fd`, gets matches quickly, and passes them into an editor or another command.

In large repositories, fd is especially useful with ripgrep, fzf, and editors: one command narrows the search area quickly.

Example

Finding files by name and extension

This example shows a normal fd scenario: a short command searches files by pattern and can limit results by extension.

Language: Bash
fd controller src
fd -e ts "user" app
fd --hidden --exclude .git config

Strengths

The project’s strength is speed and predictability. Most commands read like user intent rather than a set of flags for the machine.

Another advantage is terminal ergonomics: colored output, Unicode, regex, and clear exclusions make searching more comfortable.

Limitations

The limitation is that fd is not a complete replacement for `find` in every system task. Complex conditions around permissions, time, and file types may need the classic tool.

Convenient defaults can also hide files the user wanted to see. Hidden folders or ignored paths require explicit options.

Who it fits

fd fits developers and administrators who often search files in projects and want to remember less `find` syntax.

For scripts with strict POSIX requirements, classic `find` can be safer because it is available almost everywhere.

In the catalog, fd matters as a modern command-line utility: it does not invent a new task, but makes an old one faster and more pleasant.

A practical start is to replace a few manual searches with `fd`, then add aliases only for repeated scenarios, not every tiny case.

fd is especially useful in large monorepos and old projects. Fast file-name search avoids opening a heavy IDE for a small navigation task and works well with other terminal tools.