Что это такое
fd — утилита для поиска файлов и папок в терминале. Она позиционируется как простая, быстрая и дружелюбная альтернатива классическому `find`.
Проект появился из наблюдения, что мощь `find` часто идет вместе с тяжеловесным синтаксисом. Для большинства ежедневных поисков хочется короткую команду и разумное поведение по умолчанию.
Главная задача fd — быстро находить элементы файловой системы по имени, регулярному выражению, расширению или корневой папке.
Что внутри
Внутри проекта — Rust-код, документация, переводы описания проекта, правила установки и много примеров: простой поиск, regex, root directory, extensions, hidden files и exclude.
fd не пытается покрыть все возможности `find`. Он осознанно выбирает удобные настройками по умолчанию для большинства случаев, включая игнорирование скрытого мусора и правил `.gitignore`.
Как используют
Обычный сценарий: разработчик помнит часть имени файла, запускает `fd`, быстро получает список совпадений и передает его дальше в редактор или другую команду.
В больших репозиториях fd особенно полезен как часть связки с ripgrep, fzf и редакторами: одна команда быстро сужает область поиска.
Пример
Поиск файлов по имени и расширению
Пример показывает обычный сценарий fd: короткая команда ищет файлы по шаблону и может ограничить результат расширением.
fd controller src
fd -e ts "user" app
fd --hidden --exclude .git config
Сильные стороны
Сильная сторона проекта — скорость и предсказуемость. Большинство команд читаются почти как намерение пользователя, а не как набор флагов для машины.
Еще одно преимущество — хорошая эргономика терминала: цветной вывод, Unicode, regex и понятные исключения делают поиск комфортнее.
Ограничения
Ограничение в том, что fd не является полной заменой `find` для всех системных задач. Сложные условия по правам, времени и типам файлов могут потребовать классический инструмент.
Также удобные настройками по умолчанию иногда скрывают файлы, которые пользователь хотел увидеть. Для скрытых папок или игнорируемых путей нужно явно менять параметры.
Кому подойдет
fd подойдет разработчикам и администраторам, которые часто ищут файлы в проектах и хотят меньше вспоминать синтаксис `find`.
Для скриптов с жесткими POSIX-требованиями классический `find` может быть безопаснее, потому что он доступен почти везде.
В каталоге fd важен как пример современной командной утилиты: она не изобретает новую задачу, а делает старую задачу быстрее и приятнее.
Практический старт — заменить несколько ручных поисков на `fd`, затем добавить aliases только для повторяющихся сценариев, а не для каждой мелочи.
Особенно заметна польза fd в больших монорепозиториях и старых проектах. Быстрый поиск по имени файла помогает не открывать тяжелую IDE ради маленькой навигационной задачи и хорошо сочетается с другими терминальными инструментами.
Еще один плюс fd — легкость обучения. Новому участнику достаточно пары команд, чтобы начать искать файлы в проекте, а более сложные флаги можно осваивать по мере необходимости.