fd

David Peter и участники проекта fd · лицензия Apache-2.0 или MIT

Находит файлы проекта по имени, расширению, размеру и дате изменения и передаёт найденное другой программе. Скрытые файлы по умолчанию пропускает, а внутри репозитория Git ещё и пути из .gitignore.

macOS · Windows · LinuxНа компьютере, на сервере и в контейнереБесплатно, Apache-2.0 или MIT

✓ Проверено 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

Установить агентом

Для Claude Code, Codex, Hermes и любого агента с терминалом
Установи программу «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
Объём
Установили и прогнали задачу на тестовых данных
Что именно сделали
  1. Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Пакет fd_10.5.0_amd64.deb скачали со страницы выпуска, сумма sha256 совпала с указанной у файла, dpkg -i поставил его. Скачивание и установка заняли 790 мс, fd --version вывел «fd 10.5.0».
  2. Скрипт сам создал тестовую папку сайта в репозитории Git: .gitignore с node_modules/, dist/ и *.log, файлы кода, три файла Markdown, четыре картинки из случайных байт (одна на 3 МиБ, одна с расширением .PNG), скрытый .env и четыре файла .DS_Store, у docs/faq.md дата изменения 1 января 2026.
  3. Поиск по расширению: 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.
  4. Шаблон '^\.env$' без ключей ничего не вывел, и программа предупредила, что скрытые файлы по умолчанию пропускаются. С ключом -H файл .env нашёлся.
  5. Команда 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.
  6. Список на удаление вывели командой без rm: fd -H -I -t f '^\.DS_Store$' показала 4 файла (с одним -H тоже 4). Та же команда с -X rm удалила их, и повторный поиск оказался пустым. Суммы sha256 всех остальных файлов проекта до и после совпали. Все команды задачи шли под записью соединений и не открыли ни одного, на всё ушло 510 мс.
  7. Коды выхода: поиск без совпадений 0, несуществующая папка 1, незакрытая скобка в регулярном выражении 1, ошибка команды внутри -x 1, шаблон docs/guides с косой чертой 1 с подсказкой fd . 'docs/guides'. На папке из 50 000 пустых файлов fd -e jpg нашёл 5 000 за 37 мс, find - те же 5 000 за 55 мс.
  8. Удаление и другие способы: 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.202610.5.0задачаконтейнер, Linuxполучилось
16.10.202610.5.0задачаконтейнер, Linuxполучилось
16.10.202610.5.0задачаконтейнер, Linuxполучилось

«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.

Похожие программы

Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.