[ad_1]
Большинство пользователей Linux хорошо знакомы с find command и во многих случаях её можно использовать. Сегодня мы рассмотрим альтернативу и она называется fd.
fd это простой, быстрый и удобный инструмент, предназначенный для более быстрой работы по сравнению с find. Она не предназначена для полной замены find а скорее должна предоставить вам простую в использовании альтернативу, которая работает немного быстрее.
fd Особенности
Некоторые из примечательных особенностей fd:
- Простой в использовании синтаксис – fd *pattern* вместо find -iname *pattern*.
- Colorful вывод похож на одну из ls команд.
- Быстрая производительность. Доступны бенчмарки разработчика здесь.
- Интеллектуальный поиск с учетом регистра по умолчанию и переключается на чувствительность к регистру, если шаблон содержит символ верхнего регистра.
- Не заглядывает в скрытые файлы и каталоги по умолчанию.
- Не смотрит в .gitignore по умолчанию.
- Осведомленность о Юникоде.
Как установить fd в линуксе
Мы собираемся посмотреть, как установить fd в разных дистрибутивах Linux с помощью менеджера пакетов по умолчанию, как показано.
$ sudo apt install fd-find [On Debian, Ubuntu and Mint] $ sudo yum install fd-find [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/fd [On Gentoo Linux] $ sudo pacman -S fd [On Arch Linux] $ sudo zypper install fd [On OpenSUSE] $ sudo apk add fd [On Alpine Linux]
Как использовать fd в Linux
fd имеет много вариантов использования, но давайте начнем с проверки доступных опций:
# fd -h или # fd --help
Давайте посмотрим на несколько примеров. Вы можете запустить fd без каких-либо аргументов вывод очень похож на ls -R команда.
# fd
В следующих fd примерах, я буду использовать значение по умолчанию Установки WordPress находящийся в /var/www/html/
В приведенном ниже примере я взял только первые 10 результатов для более короткого вывода команды.
# fd | head
Допустим, мы хотим найти все файлы jpg. Мы можем использовать “-e”
флаг для фильтрации по расширению файла:
# fd -e jpg
“-e”
флаг можно использовать в сочетании с таким шаблоном:
# fd -e php index
Приведенная выше команда будет искать файлы с расширением php и есть ли строка «index» в них:
Если вы хотите исключить некоторые результаты, вы можете использовать “-E”
флаг такой:
# fd -e php index -E wp-content
Эта команда будет искать все файлы с расширением php, содержащие строку «index» и исключит результаты из «wp-content» справочник.
Если вы хотите указать каталог поиска, вам просто нужно указать его в качестве аргумента:
# fd <pattery> <directory>
Как только find вы можете использовать -x
или же --exec
аргументы для параллельного выполнения команды с результатами поиска.
Вот пример, где мы будем использовать chmod изменить права доступа к файлам изображений
# fd -e jpg -x chmod 644 {}
Выше будут найдены все файлы с расширением jpg и буду назначены права chmod 644 <path-to-file>
.
Вот несколько полезных объяснений и использования квадратных скобок:
{}
– Заполнитель, который будет изменен с путем к результату поиска (wp-content/uploads/01).{.}
— похожий на{}
но без использования расширения файла (wp-content/uploads/01).{/}
: заполнитель, который будет заменен базовым именем результата поиска. (01.jpg).{//}
: Родительский каталог обнаруженного пути (wp-content/uploads).{/.}
: Только базовое имя, без расширения (01).
Вывод
Это был краткий обзор команды fd, что некоторым пользователям может показаться проще и быстрее. Как упоминалось ранее в этой статье fd не предназначена для полной замены find а обеспечивают простое использование, более легкий поиск и лучшую производительность. fd не занимает много места и является хорошим инструментом в вашем арсенале.