fd
David Peter и участники проекта fd · лицензия Apache-2.0 или MIT
Находит файлы проекта по имени, расширению, размеру и дате изменения и передаёт найденное другой программе. Скрытые файлы по умолчанию пропускает, а внутри репозитория Git ещё и пути из .gitignore.
✓ Проверено 16.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root, Git 2.43.0 из образа: fd 10.5.0 из пакета .deb со страницы выпуска GitHub, архив musl 10.5.0 и пакет Ubuntu fd-find 9.0.0. Что именно проверяли
Какую задачу решает
Консольная программа для поиска файлов и папок по имени. Агент находит в проекте нужные файлы по расширению, размеру или дате изменения и сразу передаёт их другой команде, например sha256sum или tar. По умолчанию fd пропускает скрытые файлы, а внутри репозитория Git ещё и пути из .gitignore: в прогоне так в выдачу не попали node_modules и dist, перечисленные в .gitignore.
- Ищет по расширению (fd -e md), по шаблону имени (регулярное выражение или -g со звёздочками), по размеру (-S +1m) и по дате изменения (--changed-before 2026-02-01).
- Запускает команду для каждого найденного файла (-x) или одну команду сразу для всех (-X). Подстановки {} и {/.} дают путь и имя без расширения.
- Скрытые файлы по умолчанию пропускает, а внутри репозитория Git ещё и пути из .gitignore. Ключ -H добавляет скрытые, -I снимает правила игнорирования, -u включает оба.
- Если шаблон ловит только скрытые файлы или содержит косую черту, fd пишет предупреждение и подсказывает нужный ключ.
Пример результата
Говоришь агенту
В папке сайта найди все картинки jpg и png, посчитай для каждой сумму sha256 и удали служебные файлы .DS_Store. Сначала покажи список того, что удалишь.
Что получится
Мы прогнали этот сценарий на тестовой папке. Через fd -e jpg -e png -x sha256sum нашлись 4 картинки, включая icon.PNG с большими буквами в расширении, и их суммы совпали с посчитанными заранее. Список на удаление дала та же команда без rm: fd -H -I -t f '^\.DS_Store$' вывела 4 файла .DS_Store, один из них в скрытой папке .cache. После этого fd -H -I -t f '^\.DS_Store$' -X rm удалил все четыре, повторный поиск ничего не нашёл. Суммы остальных файлов проекта до и после совпали.
Паспорт
- Кто делает
- David Peter и участники проекта fd
- Исходный код
- github.com/sharkdp/fd
- Лицензия
- Apache-2.0 или MIT
- Версия
- 10.5.0 на 16.10.2026
- Системы
- macOS · Windows · Linux
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Проверено 16.10
Установить агентом
Установи программу «fd». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 16.10.2026):
- исходный код: https://github.com/sharkdp/fd
- инструкция по установке: https://github.com/sharkdp/fd/blob/v10.5.0/README.md
- актуальная версия на 16.10.2026: 10.5.0
- лицензия: Apache-2.0 или MIT
- для работы нужно (в отдельных случаях): Homebrew - только для установки на Mac через brew
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Перед любым удалением запусти fd с теми же фильтрами, но без -X rm или -x rm. Покажи человеку полученный список и жди «да».
7. Не передавай через -x и -X файлы с ключами и паролями (.env и подобные) командам, которые отправляют данные по сети, без отдельного «да» человека.
8. Скажи человеку, что fd по умолчанию пропускает скрытые файлы, а внутри репозитория Git ещё и пути из .gitignore. Если они тоже нужны, добавь -u или -H -I. Список для удаления или копии сверяй с человеком, не считай его полным только из-за ключа -u.
9. Шаблон пиши в одинарных кавычках. Для путей с косой чертой бери fd . <папка> или --full-path.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: там, где лежит проект или папка с документами.
- на сервере: работает в терминале без окон и без вопросов, удобно искать файлы сайта на сервере.
- в контейнере: мы проверяли в контейнере Ubuntu 24.04 от root: скачивание и установка пакета .deb заняли меньше секунды (790 мс).
1. Проверь, не стоит ли программа уже: fd --version ; fdfind --version. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно Пакет .deb для x86-64 весит 1 235 940 байт и ставит /usr/bin/fd размером 3 605 744 байт, плюс справку man и дополнение команд для bash, fish и zsh. Из архива musl файл fd весит 3 708 016 байт, сам архив 1 573 549 байт..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS, Homebrew: brew install fd (Формула того же проекта, на 16.10.2026 ставит 10.5.0. Мы её не проверяли)
- Windows, winget: winget install sharkdp.fd (Команда из README. Манифест winget ставит fd.exe из архива со страницы выпуска GitHub и Microsoft Visual C++ Redistributable. На Windows мы не проверяли)
- Linux, пакет .deb со страницы выпуска: curl -LO https://github.com/sharkdp/fd/releases/download/v10.5.0/fd_10.5.0_amd64.deb && sudo dpkg -i fd_10.5.0_amd64.deb (Способ из README для Ubuntu и Debian: пакет со страницы выпуска, команда в нём называется fd. Пакет для x86-64 весит 1 235 940 байт, сумма sha256 указана у файла на странице выпуска. С пакетом fd-find из Ubuntu он конфликтует, ставят что-то одно. Мы ставили так от root без sudo, сумму сверили)
- Linux, apt (пакет Ubuntu fd-find): sudo apt-get install fd-find && mkdir -p ~/.local/bin && ln -s $(which fdfind) ~/.local/bin/fd (Пакет из репозитория Ubuntu. Команда называется fdfind, потому что имя fd занято другим пакетом; README советует ссылку ~/.local/bin/fd, и тогда ~/.local/bin должна быть в PATH. apt ставит ту версию, которая сейчас лежит в репозитории системы. В Ubuntu 24.04 мы получили 9.0.0, это старая версия)
- Linux, готовый архив с GitHub: curl -LO https://github.com/sharkdp/fd/releases/download/v10.5.0/fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz && tar -xzf fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz && mkdir -p ~/.local/bin && cp fd-v10.5.0-x86_64-unknown-linux-musl/fd ~/.local/bin/ (Сборка musl не зависит от системных библиотек, sudo не нужен. Архив весит 1 573 549 байт, сумма sha256 указана у файла на странице выпуска. ~/.local/bin должна быть в PATH. Мы скачали и запустили архив, сумму сверили)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- fd --version: программа запускается без ошибки;
- Во временной папке создай тестовый проект с .gitignore, файлами кода, Markdown, картинками, скрытым .env и файлами .DS_Store. Найди файлы по расширению, размеру и дате, сравни выдачу с ключами -H, -I и -u, посчитай суммы картинок через -x, собери архив Markdown через -X, выведи список .DS_Store без rm, потом удали их той же командой с -X rm и проверь, что остальные файлы не изменились. Делай это во временной папке и не трогай мои файлы.
curl -sSL -o /tmp/fd_10.5.0_amd64.deb https://github.com/sharkdp/fd/releases/download/v10.5.0/fd_10.5.0_amd64.deb
echo '1fca9f8fb221f26fe37b425db4935dc8180099bdecfd8e031538bfc9396e95f8 /tmp/fd_10.5.0_amd64.deb' | sha256sum -c -
dpkg -i /tmp/fd_10.5.0_amd64.deb && fd --version
mkdir -p /work/site && cd /work/site && git init -q && mkdir -p src/components docs/guides images/raw node_modules/lib dist .cache && printf 'node_modules/\ndist/\n*.log\n' > .gitignore && for f in src/app.js src/components/Header.js src/components/Footer.js node_modules/lib/index.js dist/app.min.js; do echo "console.log('$f');" > $f; done && printf '# Readme\n' > README.md && printf '# Guide\n' > docs/guides/start.md && printf '# Faq\n' > docs/faq.md && printf '# Lib\n' > node_modules/lib/README.md && printf 'SECRET=test\n' > .env && echo log > debug.log
python3 -c "import random; random.seed(1); w=lambda p,n: open(p,'wb').write(random.randbytes(n)); w('images/raw/photo-big.jpg',3*1024*1024); w('images/raw/photo-small.jpg',40*1024); w('images/logo.png',200*1024); w('images/icon.PNG',5*1024); [open(p,'wb').write(bytes(64)) for p in ['.DS_Store','images/.DS_Store','docs/.DS_Store','.cache/.DS_Store']]" && touch -d '2026-01-01 00:00' docs/faq.md
cd /work/site && find . -path ./.git -prune -o -type f -print0 | sort -z | xargs -0 sha256sum > /tmp/sha-before.txt
cd /work/site && fd -e md && fd -e md -H -I
cd /work/site && fd -e jpg -e png && fd -t f -S +1m
cd /work/site && fd '^\.env$'; fd -H -t f '^\.env$'
cd /work/site && fd -e js && fd -u -e js
cd /work/site && fd -t f --changed-before 2026-02-01
cd /work/site && fd -e jpg -e png -x sha256sum
cd /work/site && fd -e md -X tar -czf /work/docs.tar.gz && tar -tzf /work/docs.tar.gz
cd /work/site && fd -e jpg -x cp {} /work/thumbs-{/.}.bak
cd /work/site && fd -H -t f '^\.DS_Store$' && fd -H -I -t f '^\.DS_Store$'
cd /work/site && fd -H -I -t f '^\.DS_Store$' -X rm && fd -H -I -t f '^\.DS_Store$'
cd /work/site && fd --format '{//} {/}' -e js
cd /work/site && grep -v DS_Store /tmp/sha-before.txt > /tmp/b.txt && find . -path ./.git -prune -o -type f -print0 | sort -z | xargs -0 sha256sum > /tmp/sha-after.txt && diff /tmp/b.txt /tmp/sha-after.txt
cd /work/site && fd nothing-matches-this-name; echo $?; fd x /no/such/dir; echo $?; fd '['; echo $?; fd -e md -x false; echo $?; fd docs/guides; echo $?
dpkg -r fd
apt-get update && apt-get -y install fd-find && fdfind --version && apt-get -y purge fd-find
curl -sSL -o /tmp/fd.tgz https://github.com/sharkdp/fd/releases/download/v10.5.0/fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz && echo '761c72dc8e120d85b22292063be8a796e2eeb20eb3e4f38b8fa2343ccf3514a7 /tmp/fd.tgz' | sha256sum -c - && mkdir -p /tmp/fdt && tar -xzf /tmp/fd.tgz -C /tmp/fdt && /tmp/fdt/fd-v10.5.0-x86_64-unknown-linux-musl/fd --version
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall fd; Windows, winget: winget uninstall sharkdp.fd; Linux, пакет .deb со страницы выпуска: sudo dpkg -r fd; Linux, apt (пакет Ubuntu fd-find): sudo apt-get purge fd-find && rm -f ~/.local/bin/fd; Linux, готовый архив с GitHub: rm -f ~/.local/bin/fd).
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/fd#problemyПромпт собран из официальных инструкций, сверенных 16.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS · Homebrew · источник
brew install fd
Формула того же проекта, на 16.10.2026 ставит 10.5.0. Мы её не проверяли
Windows · winget · источник
winget install sharkdp.fd
Команда из README. Манифест winget ставит fd.exe из архива со страницы выпуска GitHub и Microsoft Visual C++ Redistributable. На Windows мы не проверяли
Linux · пакет .deb со страницы выпуска · источник
curl -LO https://github.com/sharkdp/fd/releases/download/v10.5.0/fd_10.5.0_amd64.deb && sudo dpkg -i fd_10.5.0_amd64.deb
Способ из README для Ubuntu и Debian: пакет со страницы выпуска, команда в нём называется fd. Пакет для x86-64 весит 1 235 940 байт, сумма sha256 указана у файла на странице выпуска. С пакетом fd-find из Ubuntu он конфликтует, ставят что-то одно. Мы ставили так от root без sudo, сумму сверили
Linux · apt (пакет Ubuntu fd-find) · источник
sudo apt-get install fd-find && mkdir -p ~/.local/bin && ln -s $(which fdfind) ~/.local/bin/fd
Пакет из репозитория Ubuntu. Команда называется fdfind, потому что имя fd занято другим пакетом; README советует ссылку ~/.local/bin/fd, и тогда ~/.local/bin должна быть в PATH. apt ставит ту версию, которая сейчас лежит в репозитории системы. В Ubuntu 24.04 мы получили 9.0.0, это старая версия
Linux · готовый архив с GitHub · источник
curl -LO https://github.com/sharkdp/fd/releases/download/v10.5.0/fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz && tar -xzf fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz && mkdir -p ~/.local/bin && cp fd-v10.5.0-x86_64-unknown-linux-musl/fd ~/.local/bin/
Сборка musl не зависит от системных библиотек, sudo не нужен. Архив весит 1 573 549 байт, сумма sha256 указана у файла на странице выпуска. ~/.local/bin должна быть в PATH. Мы скачали и запустили архив, сумму сверили
Как удалить
- macOS, Homebrew:
brew uninstall fd - Windows, winget:
winget uninstall sharkdp.fd - Linux, пакет .deb со страницы выпуска:
sudo dpkg -r fd - Linux, apt (пакет Ubuntu fd-find):
sudo apt-get purge fd-find && rm -f ~/.local/bin/fd - Linux, готовый архив с GitHub:
rm -f ~/.local/bin/fd
Что нужно для работы
- Homebrew (в отдельных случаях) - только для установки на Mac через brew
Системы
- macOS - ставится через Homebrew, в выпуске есть сборки для Mac на Apple Silicon и на Intel. На Mac мы не проверяли.
- Windows - winget ставит архив fd.exe со страницы выпуска GitHub. На Windows мы не проверяли.
- Linux - мы проверяли на Ubuntu 24.04 x86-64 пакет .deb и архив со страницы выпуска, а также пакет fd-find из Ubuntu. В Ubuntu и Debian команда пакета fd-find называется fdfind.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - там, где лежит проект или папка с документами.
- На сервере - работает в терминале без окон и без вопросов, удобно искать файлы сайта на сервере.
- В контейнере - мы проверяли в контейнере Ubuntu 24.04 от root: скачивание и установка пакета .deb заняли меньше секунды (790 мс).
Сколько ресурсов нужно
- Место на диске
- Пакет .deb для x86-64 весит 1 235 940 байт и ставит /usr/bin/fd размером 3 605 744 байт, плюс справку man и дополнение команд для bash, fish и zsh. Из архива musl файл fd весит 3 708 016 байт, сам архив 1 573 549 байт.
- Память
- Отдельно не мерили. На папке из 50 000 пустых файлов поиск занял 37 мс.
- Сеть
- Для поиска сеть не нужна: в прогоне все команды задачи, включая -x и -X, не открыли ни одного соединения. Скачивание .deb и архива шло к github.com и release-assets.githubusercontent.com. Команда apt-get update ходила к archive.ubuntu.com, security.ubuntu.com и deb.nodesource.com. Последний - источник Node.js в образе нашей песочницы, к fd он отношения не имеет. Установка fd-find обращалась только к archive.ubuntu.com и security.ubuntu.com. Соединения каждой команды мы записывали отдельно. Плюс DNS контейнера 127.0.0.11. Доступ из России мы не проверяли.
Поиск идёт в несколько потоков, по умолчанию по числу ядер процессора (-j меняет число). В контейнере с 8 ядрами fd нашёл 5 000 файлов jpg среди 50 000 за 37 мс, find на той же папке за 55 мс. Это один замер на тёплом кэше диска.
Лицензия и платные замены
Лицензия Apache-2.0 или MIT. Двойная лицензия: можно выбрать любую из двух. Пользоваться можно бесплатно, и лично, и в работе компании. Кто распространяет копии, сохраняет текст выбранной лицензии. Текст лицензии
Цена: Бесплатно. Программа бесплатная, лицензия Apache-2.0 или MIT на выбор.
Платные замены
Платную замену мы не указываем: поиск файлов по имени есть в каждой системе бесплатно, fd тоже бесплатный.
Бесплатные замены
- find - Стандартная команда поиска файлов в macOS и Linux. По README fd не пытается повторить все её возможности. В прогоне find на той же папке нашёл те же 5 000 файлов jpg.
- ripgrep (rg) - Ищет строки внутри файлов. В README fd есть связка, где fd сначала отбирает файлы по расширению, а потом отдаёт их rg: fd -e cpp -X rg 'std::cout'.
О чём помнить
- Безопасность. Агент запускает fd в терминале сам (exec), и через ключи -x и -X fd запускает любую другую программу с правами пользователя: это тоже exec. Сам fd читает названия файлов, их размер и дату, а также файлы .gitignore, .ignore, .fdignore и ~/.config/fd/ignore (read). Программа после -x или -X может прочитать содержимое любого доступного файла, включая .env с ключами (read), изменить его или записать новый файл (write): что она сделает, решает команда, которую пишет агент. Необратимые действия (acts) тоже есть. Связка fd ... -X rm удаляет все найденные файлы без корзины, в прогоне так удалились 4 файла .DS_Store. Отправка файлов по сети командой после -x или -X тоже относится к acts. Входа в учётные записи и ключей fd не просит.
- По умолчанию fd молча пропускает скрытые файлы, а внутри репозитория Git и всё из .gitignore. В прогоне fd -e md не показал README.md из node_modules, fd -e js пропустил файлы из node_modules и dist, с -u нашлись и они. Скрытый .env нашёлся только с -H. Чтобы включить скрытые файлы и снять правила игнорирования, добавь -u или -H -I.
- Правила .gitignore fd по справке применяет только внутри репозитория Git. Вне репозитория ту же папку node_modules он покажет, если не помогут .fdignore или ключ --no-require-git.
- Команды после -x идут параллельно, по справке очередь их запуска и расстановка аргументов в -X не гарантированы. Ключ --threads=1 запускает команды по одной. Если нужен определённый порядок файлов, отсортируй вывод fd и передай его следующей программе.
- Код выхода 0 бывает и тогда, когда ничего не нашлось: в прогоне поиск без совпадений вернул 0. Для проверки «нашлось ли» по справке есть ключ -q: тогда код 1 значит «нет совпадений».
- В Ubuntu и Debian пакет fd-find называет команду fdfind, потому что имя fd занято другим пакетом. Пакет .deb со страницы выпуска ставит команду fd и с fd-find конфликтует.
Частые проблемы
[fd error]: The pattern(s) seems to only match files with a leading dot, but hidden files are filtered by default.
Шаблон подходит только к скрытым файлам (например, '^\.env$'), а их fd по умолчанию не ищет. Поиск при этом ничего не выводит. Добавь -H: fd -H -t f '^\.env$'. В прогоне так нашёлся .env.
[fd error]: The search pattern 'docs/guides' contains a path-separation character and will not lead to any search results.
Шаблон сравнивается только с именем файла, а в имени косой черты не бывает. Код выхода 1. Все файлы папки: fd . 'docs/guides'. Сравнение с полным путём: fd --full-path 'docs/guides'. Обе подсказки fd печатает сам.
[fd error]: regex parse error: ... unclosed character class
Шаблон по умолчанию - регулярное выражение, и в нём незакрытая скобка '['. Код выхода 1. Имя со звёздочками ищи с ключом -g: fd -g '*.jpg'. Если в имени есть скобки или точки и шаблон не нужен, поставь -F, тогда строка ищется как есть.
После apt-get install fd-find есть команда fdfind, а примеры с fd из документации не работают
Пакет Ubuntu и Debian называет команду fdfind: по README имя fd занято другим пакетом. В прогоне пакет положил /usr/bin/fdfind и /usr/lib/cargo/bin/fd. Запускай fdfind или сделай ссылку по README: ln -s $(which fdfind) ~/.local/bin/fd.
Файл точно есть, а fd его не находит
Он скрытый или попал под правило .gitignore, .ignore или .fdignore. Повтори поиск с -u (скрытые файлы и пути из .gitignore вместе).
Проверка
✓ Проверено 16.10.2026: Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root, Git 2.43.0 из образа: fd 10.5.0 из пакета .deb со страницы выпуска GitHub, архив musl 10.5.0 и пакет Ubuntu fd-find 9.0.0.
- Когда
- 16.10.2026
- Среда
- Ubuntu 24.04 (x86_64) в одноразовом контейнере Docker на сервере, от root, Git 2.43.0 из образа: fd 10.5.0 из пакета .deb со страницы выпуска GitHub, архив musl 10.5.0 и пакет Ubuntu fd-find 9.0.0
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Пакет fd_10.5.0_amd64.deb скачали со страницы выпуска, сумма sha256 совпала с указанной у файла, dpkg -i поставил его. Скачивание и установка заняли 790 мс, fd --version вывел «fd 10.5.0».
- Скрипт сам создал тестовую папку сайта в репозитории Git: .gitignore с node_modules/, dist/ и *.log, файлы кода, три файла Markdown, четыре картинки из случайных байт (одна на 3 МиБ, одна с расширением .PNG), скрытый .env и четыре файла .DS_Store, у docs/faq.md дата изменения 1 января 2026.
- Поиск по расширению: fd -e md нашёл три файла Markdown проекта и пропустил README.md из node_modules, который появился только с -H -I. Файлов .js без ключей нашлось три в src, с -u пять, вместе с node_modules и dist. По размеру (-S +1m) нашлась одна картинка на 3 МиБ, по дате (--changed-before 2026-02-01) только docs/faq.md.
- Шаблон '^\.env$' без ключей ничего не вывел, и программа предупредила, что скрытые файлы по умолчанию пропускаются. С ключом -H файл .env нашёлся.
- Команда fd -e jpg -e png -x sha256sum посчитала суммы четырёх картинок, включая icon.PNG, и все совпали с посчитанными заранее. Архив через -X (fd -e md -X tar -czf /work/docs.tar.gz) получился ровно из трёх файлов Markdown, а копии через fd -e jpg -x cp {} /work/thumbs-{/.}.bak совпали с оригиналами при сверке cmp.
- Список на удаление вывели командой без rm: fd -H -I -t f '^\.DS_Store$' показала 4 файла (с одним -H тоже 4). Та же команда с -X rm удалила их, и повторный поиск оказался пустым. Суммы sha256 всех остальных файлов проекта до и после совпали. Все команды задачи шли под записью соединений и не открыли ни одного, на всё ушло 510 мс.
- Коды выхода: поиск без совпадений 0, несуществующая папка 1, незакрытая скобка в регулярном выражении 1, ошибка команды внутри -x 1, шаблон docs/guides с косой чертой 1 с подсказкой fd . 'docs/guides'. На папке из 50 000 пустых файлов fd -e jpg нашёл 5 000 за 37 мс, find - те же 5 000 за 55 мс.
- Удаление и другие способы: dpkg -r fd убрал программу. После apt-get update команда apt-get install fd-find поставила из Ubuntu 9.0.0: файлы /usr/bin/fdfind и /usr/lib/cargo/bin/fd, fdfind --version вывел 9.0.0. Ссылка ~/.local/bin/fd на fdfind по README заработала, apt-get purge fd-find убрал пакет. Архив fd-v10.5.0-x86_64-unknown-linux-musl.tar.gz: сумма совпала, fd из него вывел 10.5.0. Все проверки скрипт сделал сам и только после них напечатал TASK_OK.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 16.10.2026 | 10.5.0 | задача | контейнер, Linux | получилось |
| 16.10.2026 | 10.5.0 | задача | контейнер, Linux | получилось |
| 16.10.2026 | 10.5.0 | задача | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
- GitТочки сохранения для проекта: агент сохраняет состояние перед большой правкой, и любую поломку можно откатить. Ещё через Git проект выкладывают на GitHub.
- jqДостаёт нужное из JSON: ответов сервисов, выгрузок заказов и заявок. Агенту нужен, чтобы отфильтровать записи, посчитать суммы и сохранить таблицу CSV для Excel.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.