Как использовать команду fd в Linux

Окно терминала на ПК с Linux с рабочим столом в стиле Ubuntu.
Фатмавати Ахмад Заенури / Shutterstock

В Linux fd это более простая альтернатива find команда. Он имеет упрощенный синтаксис, использует разумные значения по умолчанию и обладает встроенным поведением здравого смысла. Давайте пройдем его темпами.

fd против находки: в чем разница?

fd команда не предназначена для замены традиционный find команда, которая имеет был на линуксе, ну вечно, Вместо, fd пытается удовлетворить большинство общих целей find более простым способом, и это часто в восемь или девять раз быстрее, чем find, Вы можете увидеть некоторые из его ориентиров на Страница репозитория GitHub,

fd имеет цветной вывод, аналогичный тому, что у некоторых ls режимы. Он рекурсивный, но по умолчанию не ищет скрытые каталоги. Это знает о Git и также автоматически игнорирует любые шаблоны в вашем файле .gitignore.

fd нечувствителен к регистру по умолчанию. Однако, если ваш шаблон поиска содержит заглавную букву, fd работает в чувствительном к регистру режиме. Конечно, вы можете изменить настройки по умолчанию, но во многих случаях они работают в вашу пользу.

СВЯЗАННЫЙ: Как использовать все поисковые команды Linux

Установка ФД

Начиная с Ubuntu 19.04 (Disco Dingo,) вы можете установить fd непосредственно позвонив в официально поддерживаемый пакет с apt-get, Если вы используете более старую версию Ubuntu, проверьте инструкции по установке на странице Git Hub,

Введите следующее:

sudo apt-get install fd-find

sudo apt-get установить fd-find в окне терминала.

В Ubuntu команда fdfind чтобы избежать конфликта имен с другой существующей утилитой. Если вы хотите, чтобы это было fdВы можете настроить псевдоним:

alias fd=fdfind

псевдоним fd = fdfind в окне терминала.

Чтобы сделать псевдоним постоянным, чтобы он оставался доступным после перезагрузки, поместите его в файл «.bashrc» или «.bash_aliases».

СВЯЗАННЫЙ: Как создать псевдонимы и функции оболочки в Linux

Установить fd в Fedora введите эту команду:

sudo dfn install fd-find

sudo dnf установите fd-find в окне терминала.

На Манджаро введите следующее:

sudo pacman -Syu fd

sudo pacman -Сю фд в окне терминала.

FD против Fdfind

Чтобы избежать путаницы, мы оставили команду с именем по умолчанию, fdfind, на нашем тестовом ПК Ubuntu. fd и fdfind точно такая же команда, как вы увидите в следующем примере (если вы спросите fdfind чтобы показать свою версию, он называет себя «fd»):

fdfind --version

fdfind - версия в окне терминала.

Мы будем называть команду «накормленной», но в примерах мы будем использовать Ubuntu «fdfind». В других дистрибутивах Linux вы можете ввести «fd» вместо «fdfind», чтобы сохранить несколько нажатий клавиш.

Простой поиск с помощью fd

Если вы используете fd без параметров командной строки, он ведет себя немного как ls, за исключением того, что он перечисляет файлы в подкаталогах по умолчанию.

Введите следующее:

fdfind

fdfind в окне терминала.

Вывод отображается в разных цветах для разных типов файлов и каталогов.

Вывод из fdfind в окне терминала.

Чтобы увидеть файлы определенного типа, используйте -e (расширение) вариант. Обратите внимание, что вам не нужно ставить перед расширением точку (.), И при этом она не учитывает регистр.

Например, вы можете ввести следующее:

fdfind -e png

fdfind -e png в окне терминала.

Теперь единственными файлами в списке являются файлы изображений PNG.

вывод fdfind -e png в окне терминала.

Чтобы найти один файл, введите его имя в командной строке, например так:

fdfind index.page

fdfind index.page в окне терминала.

Файл найден и находится в подкаталоге. Нам не нужно было говорить fd искать рекурсивно.

Чтобы начать поиск в определенном каталоге, укажите путь к файлу в командной строке. Следующая команда запустит поиск в каталоге «/ etc» и найдет файлы, содержащие «passwd» в имени файла:

fdfind passwd /etc

fdfind passwd / etc в окне терминала.

Здесь мы ищем все файлы с исходным кодом на языке C, которые содержат в имени файла «координаты»:

fdfind -e c coord

fdfind -e c координат в окне терминала.

Два подходящих файла были найдены.

FD и Git

Git чрезвычайно популярен система контроля версий исходного кода, Если вы используете Git на своем компьютере, вы, вероятно, используете файлы «.gitignore», чтобы сообщить Git, к каким файлам он должен относиться и что он может игнорировать. По умолчанию, fd уважает настройки в ваших файлах «.gitignore».

В этом каталоге у нас есть Git-репозиторий и файл «.gitignore». Мы вводим следующее:

ls -adl .git*

ls -adl .git * в окне терминала.

Давай спросим fd перечислить любые файлы, которые содержат «координаты» в имени файла. Затем мы повторим поиск и используем -I (не игнорировать) вариант. Это говорит fd игнорировать настройки в файле «.gitignore» и сообщать о каждом соответствующем файле.

Чтобы сделать все это, мы набираем следующее:

fdfind coord
fdfind coord -I

fdfind координат в терминальном окне.

Два дополнительных файла во втором наборе результатов являются объектными файлами. Они создаются при компиляции файловой программы. Затем они используются компоновщиком для создания окончательной исполняемой версии программы.

Объектные файлы обычно игнорируются программами контроля версий исходного кода. Они восстанавливаются каждый раз, когда вы компилируете свою программу, поэтому вам не нужно хранить их копии. В файле «.gitignore» есть запись, которая указывает Git игнорировать объектные файлы и, по умолчанию, fd их тоже игнорирует.

-I (не игнорировать) опция силы fd возвращать все, что находит, а не руководствоваться файлом «.gitginore».

Типы файлов и чувствительность к регистру

Вы можете спросить fd искать каталоги, файлы (включая исполняемые и пустые) и символические ссылки. Вы можете сделать это с помощью -t (тип), сопровождаемый одной из букв ниже:

  • е: Файл.
  • d: Каталог.
  • L: Символическая ссылка.
  • Икс: Запускаемый файл.
  • е: Пустой файл

Следующее ищет каталог с именем images:

fdfind -td images

fdfind -td изображения в окне терминала.

Найдено совпадение, один подкаталог ниже текущего.

Давайте посмотрим, как чувствительность к регистру работает с шаблонами поиска. Мы вводим следующее, чтобы сначала выполнить поиск файлов, которые содержат «geo» в именах файлов, а затем те, которые содержат «Geo» в именах файлов:

fdfind -tf geo
fdfind -tf Geo

fdfind -tf geo в окне терминала.

В первой команде мы использовали шаблон поиска в нижнем регистре, который вызывал fd работать без учета регистра. Это означает, что и «Geo», и «geo» являются действительными совпадениями.

Наша вторая команда содержала символ в верхнем регистре, который вызывал fd работать с учетом регистра. Это означает, что только «Geo» является действительным совпадением.

Выполнение команды

fd Команда позволяет запустить другую команду и выполнить ее для каждого из найденных файлов.

Допустим, мы знаем, что есть Почтовый файл где-то в нашем дереве каталогов исходного кода. Мы можем найти его с помощью следующей команды, которая ищет файлы с расширением ZIP:

fdfinf -e zip

fdfinf -e zip в окне терминала.

С -x (exec), вы можете передать каждый найденный файл другой команде, которая будет обработана им. Например, мы можем набрать следующее, чтобы вызвать распаковать утилиту чтобы распаковать наш ZIP-файл («{}» является заполнителем, представляющим найденный файл):

fdfind-e zip -x unzip {}

Это распакует файл в текущем рабочем каталоге. Если мы хотим распаковать его в каталог, содержащий ZIP-файл, мы можем использовать один из следующих заполнителей:

  • {}: Полный путь к файлу и имя найденного файла.
  • {/}: Имя найденного файла.
  • {//}: Каталог, содержащий найденный файл.
  • {/.}: Имя найденного файла без расширения.

Чтобы наш ZIP-файл был найден и распакован в каталоге, в котором он находится, мы можем использовать распаковку -d (каталог), и передать в родительский каталог заполнителя ({//}):

fdfind-e zip -x unzip {} -d {//}

fdfind-e zip -x unzip {} -d {//} в окне терминала.

ZIP-файл затем находится и распаковывается в родительском каталоге.

Вывод из fdfind-e zip -x unzip {} -d {//} в окне терминала.

Ваш Go-to Find?

Поскольку он охватывает наиболее распространенные виды использования с такой простотой, fd может легко стать вашей командой «найти». Всякий раз, когда вам нужны более продвинутые функции, вы всегда можете вернуться к этому опытному ветерану, find,

Похожие записи

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

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