Многие пользователи Linux используют утилиту find для поиска объектов в файловой системе. Однако, у нее есть большой минус — низкая скорость работы. Если этот недостаток является для Вас критичным, то предлагаем рассмотреть альтернативу find — утилиту fd-find.
В этой статье мы расскажем, как использовать инструмент fd-find в ОС Linux.
Содержание:
Установка fd-find в Linux
Инструмент fd-find доступен для скачивания из стандартных репозиториев большинства популярных дистрибутивов Linux. Поэтому для его установки достаточно выполнить одну из следующих команд.
Для Debian / Ubuntu:
Для RHEL / CentOS:
Для Fedora:
Использование fd-find в Linux
Утилита fd-find работает быстрее find, потому что в своей работе использует механизм, который позволяет ей параллельно обходить каталоги в файловой системе. Она имеет практически такие же опции, что и find. Вот некоторые из них:
-H,--hidden— включает скрытые файлы и каталоги в поиск;-I,--no-ignore— игнорирует шаблоны, определенные в файлах.gitignore,.ignoreи.fdignore;-t,--type— ищет объекты по их типу (например,fдля файлов,dдля каталогов);-e,--extension— ищет файлы по их формату;-i,--case-insensitive— выполняет поиск, не учитывая регистр букв;-a,--absolute-path— отображает результаты с абсолютными путями;-d,--max-depth— устанавливает максимальную глубину поиска;-c,--color— включает цветное оформление вывода.
Читайте также: 5 команд для поиска файлов в Linux.
Для запуска утилиты fd-find используется команда fdfind. По умолчанию она отображает на экране вывод, аналогичный команде ls -R:
Чтобы просмотреть только первые 10 результатов вывода, используйте конвейер с командой head:
Поиск файлов по их формату
Одной из самых частых операций с применением команды fdfind является поиск файлов по их расширению. Для этого используется опция -e. Допустим, нам нужно найти в каталоге /etc все файлы в формате *.sh:
Важно: утилита fd-find по умолчанию выполняет рекурсивный поиск файлов (процесс поиска файлов внутри каталога и их папок).
Также найдем в текущей директории все файлы с расширением *.conf, которые имеют в названии строку small:
Читайте также: Курс LFCS — часть 3: архивирование, поиск и настройка атрибутов файлов.
Поиск файлов в конкретной папке
Если Вы хотите осуществить поиск в какой-то определенной директории, укажите путь к ней в качестве аргумента команды fdfind:
Для примера найдем в каталоге brltty/Input/ все файлы и папки, которые имеют в названии строку txt:
Исключение файлов из поиска
Функционал утилиты fd-find позволяет исключать некоторые файлы из поиска. Для выполнения этой задачи используется параметр -E. Допустим, нам нужно найти в текущем каталоге все файлы с расширением *.conf, в названии которых содержится слово small, но которые не находятся в папке conf.d:
Выполнение операций с файлами после поиска
Так же как и find, инструмент fd-find позволяет находить файлы, а затем выполнять с ними определенные операции. Для этого применяется опция -x (или --exec).
Для примера найдем файлы с расширением *.jpg и изменим права доступа к ним с помощью утилиты chmod:
Читайте также: Как установить права доступа (chmod) отдельно для папки / файла и всех ее подпапок / подфайлов в терминале.
Важно: в этой команде есть заполнитель {}. Он автоматически будет заменен названиями файлов, найденных командой fdfind.
Выводы
Мы показали, как выполнять поиск файлов в Linux с помощью утилиты fd-find. Процесс работы этой команды занимает намного меньше времени, чем при использовании утилиты find. Надеемся, что эта статья была полезной для Вас!
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.





























