Утилита fd-find для быстрого поиска файлов в Linux

Утилита fd-find для быстрого поиска файлов в Linux

Рубрики:

Linux, Утилиты Linux

Метки:

, ,

Многие пользователи Linux используют утилиту find для поиска объектов в файловой системе. Однако, у нее есть большой минус — низкая скорость работы. Если этот недостаток является для Вас критичным, то предлагаем рассмотреть альтернативу find — утилиту fd-find.

В этой статье мы расскажем, как использовать инструмент fd-find в ОС Linux.

Содержание:

  1. Установка fd-find в Linux
  2. Использование fd-find в Linux
    1. Поиск файлов по их формату
    2. Поиск файлов в конкретной папке
    3. Исключение файлов из поиска
    4. Выполнение операций с файлами после поиска
  3. Выводы

Установка fd-find в Linux

Инструмент fd-find доступен для скачивания из стандартных репозиториев большинства популярных дистрибутивов Linux. Поэтому для его установки достаточно выполнить одну из следующих команд.

Для Debian / Ubuntu:

 

install

Для 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 head

 

Поиск файлов по их формату

Одной из самых частых операций с применением команды fdfind является поиск файлов по их расширению. Для этого используется опция -e. Допустим, нам нужно найти в каталоге /etc все файлы в формате *.sh:

 

fdfind e option

Важно: утилита fd-find по умолчанию выполняет рекурсивный поиск файлов (процесс поиска файлов внутри каталога и их папок).

Также найдем в текущей директории все файлы с расширением *.conf, которые имеют в названии строку small:

 

Search for String in Files fdfind

Читайте также: Курс LFCS — часть 3: архивирование, поиск и настройка атрибутов файлов.

Поиск файлов в конкретной папке

Если Вы хотите осуществить поиск в какой-то определенной директории, укажите путь к ней в качестве аргумента команды fdfind:

 

Для примера найдем в каталоге brltty/Input/ все файлы и папки, которые имеют в названии строку txt:

 

specific dir

Исключение файлов из поиска

Функционал утилиты fd-find позволяет исключать некоторые файлы из поиска. Для выполнения этой задачи используется параметр -E. Допустим, нам нужно найти в текущем каталоге все файлы с расширением *.conf, в названии которых содержится слово small, но которые не находятся в папке conf.d:

 

exclude files

Выполнение операций с файлами после поиска

Так же как и 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 с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux, Утилиты Linux

Метки:

, ,

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню