Как использовать команду fd в Linux
![Окно терминала на ПК с Linux с рабочим столом в стиле Ubuntu.](https://www.howtogeek.com/wp-content/uploads/2019/09/xstock-lede-linux-see-attribution.png.pagespeed.gp+jp+jw+pj+ws+js+rj+rp+rw+ri+cp+md.ic.rjm91kC_Jl.png)
В Linux fd
это более простая альтернатива find
команда. Он имеет упрощенный синтаксис, использует разумные значения по умолчанию и обладает встроенным поведением здравого смысла. Давайте пройдем его темпами.
fd против находки: в чем разница?
fd
команда не предназначена для замены традиционный find
команда, которая имеет был на линуксе, ну вечно, Вместо, fd
пытается удовлетворить большинство общих целей find
более простым способом, и это часто в восемь или девять раз быстрее, чем find
, Вы можете увидеть некоторые из его ориентиров на Страница репозитория GitHub,
fd
имеет цветной вывод, аналогичный тому, что у некоторых ls
режимы. Он рекурсивный, но по умолчанию не ищет скрытые каталоги. Это знает о Git и также автоматически игнорирует любые шаблоны в вашем файле .gitignore.
fd
нечувствителен к регистру по умолчанию. Однако, если ваш шаблон поиска содержит заглавную букву, fd
работает в чувствительном к регистру режиме. Конечно, вы можете изменить настройки по умолчанию, но во многих случаях они работают в вашу пользу.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
СВЯЗАННЫЙ: Как использовать все поисковые команды Linux
Установка ФД
Начиная с Ubuntu 19.04 (Disco Dingo,) вы можете установить fd
непосредственно позвонив в официально поддерживаемый пакет с apt-get
, Если вы используете более старую версию Ubuntu, проверьте инструкции по установке на странице Git Hub,
Введите следующее:
sudo apt-get install fd-find
В Ubuntu команда fdfind
чтобы избежать конфликта имен с другой существующей утилитой. Если вы хотите, чтобы это было fd
Вы можете настроить псевдоним:
alias fd=fdfind
Чтобы сделать псевдоним постоянным, чтобы он оставался доступным после перезагрузки, поместите его в файл «.bashrc» или «.bash_aliases».
СВЯЗАННЫЙ: Как создать псевдонимы и функции оболочки в Linux
Установить fd
в Fedora введите эту команду:
sudo dfn install fd-find
На Манджаро введите следующее:
sudo pacman -Syu fd
FD против Fdfind
Чтобы избежать путаницы, мы оставили команду с именем по умолчанию, fdfind
, на нашем тестовом ПК Ubuntu. fd
и fdfind
точно такая же команда, как вы увидите в следующем примере (если вы спросите fdfind
чтобы показать свою версию, он называет себя «fd»):
fdfind --version
Мы будем называть команду «накормленной», но в примерах мы будем использовать Ubuntu «fdfind». В других дистрибутивах Linux вы можете ввести «fd» вместо «fdfind», чтобы сохранить несколько нажатий клавиш.
Простой поиск с помощью fd
Если вы используете fd
без параметров командной строки, он ведет себя немного как ls
, за исключением того, что он перечисляет файлы в подкаталогах по умолчанию.
Введите следующее:
fdfind
Вывод отображается в разных цветах для разных типов файлов и каталогов.
Чтобы увидеть файлы определенного типа, используйте
(расширение) вариант. Обратите внимание, что вам не нужно ставить перед расширением точку (.), И при этом она не учитывает регистр.-e
Например, вы можете ввести следующее:
fdfind -e png
Теперь единственными файлами в списке являются файлы изображений PNG.
Чтобы найти один файл, введите его имя в командной строке, например так:
fdfind index.page
Файл найден и находится в подкаталоге. Нам не нужно было говорить fd
искать рекурсивно.
Чтобы начать поиск в определенном каталоге, укажите путь к файлу в командной строке. Следующая команда запустит поиск в каталоге «/ etc» и найдет файлы, содержащие «passwd» в имени файла:
fdfind passwd /etc
Здесь мы ищем все файлы с исходным кодом на языке C, которые содержат в имени файла «координаты»:
fdfind -e c coord
Два подходящих файла были найдены.
FD и Git
Git чрезвычайно популярен система контроля версий исходного кода, Если вы используете Git на своем компьютере, вы, вероятно, используете файлы «.gitignore», чтобы сообщить Git, к каким файлам он должен относиться и что он может игнорировать. По умолчанию, fd
уважает настройки в ваших файлах «.gitignore».
В этом каталоге у нас есть Git-репозиторий и файл «.gitignore». Мы вводим следующее:
ls -adl .git*
Давай спросим fd
перечислить любые файлы, которые содержат «координаты» в имени файла. Затем мы повторим поиск и используем -I
(не игнорировать) вариант. Это говорит fd
игнорировать настройки в файле «.gitignore» и сообщать о каждом соответствующем файле.
Чтобы сделать все это, мы набираем следующее:
fdfind coord
fdfind coord -I
Два дополнительных файла во втором наборе результатов являются объектными файлами. Они создаются при компиляции файловой программы. Затем они используются компоновщиком для создания окончательной исполняемой версии программы.
Объектные файлы обычно игнорируются программами контроля версий исходного кода. Они восстанавливаются каждый раз, когда вы компилируете свою программу, поэтому вам не нужно хранить их копии. В файле «.gitignore» есть запись, которая указывает Git игнорировать объектные файлы и, по умолчанию, fd
их тоже игнорирует.
-I
(не игнорировать) опция силы fd
возвращать все, что находит, а не руководствоваться файлом «.gitginore».
Типы файлов и чувствительность к регистру
Вы можете спросить fd
искать каталоги, файлы (включая исполняемые и пустые) и символические ссылки. Вы можете сделать это с помощью -t
(тип), сопровождаемый одной из букв ниже:
- е: Файл.
- d: Каталог.
- L: Символическая ссылка.
- Икс: Запускаемый файл.
- е: Пустой файл
Следующее ищет каталог с именем images:
fdfind -td images
Найдено совпадение, один подкаталог ниже текущего.
Давайте посмотрим, как чувствительность к регистру работает с шаблонами поиска. Мы вводим следующее, чтобы сначала выполнить поиск файлов, которые содержат «geo» в именах файлов, а затем те, которые содержат «Geo» в именах файлов:
fdfind -tf geo
fdfind -tf Geo
В первой команде мы использовали шаблон поиска в нижнем регистре, который вызывал fd
работать без учета регистра. Это означает, что и «Geo», и «geo» являются действительными совпадениями.
Наша вторая команда содержала символ в верхнем регистре, который вызывал fd
работать с учетом регистра. Это означает, что только «Geo» является действительным совпадением.
Выполнение команды
fd
Команда позволяет запустить другую команду и выполнить ее для каждого из найденных файлов.
Допустим, мы знаем, что есть Почтовый файл где-то в нашем дереве каталогов исходного кода. Мы можем найти его с помощью следующей команды, которая ищет файлы с расширением ZIP:
fdfinf -e zip
С -x
(exec), вы можете передать каждый найденный файл другой команде, которая будет обработана им. Например, мы можем набрать следующее, чтобы вызвать распаковать утилиту чтобы распаковать наш ZIP-файл («{}» является заполнителем, представляющим найденный файл):
fdfind-e zip -x unzip {}
Это распакует файл в текущем рабочем каталоге. Если мы хотим распаковать его в каталог, содержащий ZIP-файл, мы можем использовать один из следующих заполнителей:
- {}: Полный путь к файлу и имя найденного файла.
- {/}: Имя найденного файла.
- {//}: Каталог, содержащий найденный файл.
- {/.}: Имя найденного файла без расширения.
Чтобы наш ZIP-файл был найден и распакован в каталоге, в котором он находится, мы можем использовать распаковку -d
(каталог), и передать в родительский каталог заполнителя ({//}
):
fdfind-e zip -x unzip {} -d {//}
ZIP-файл затем находится и распаковывается в родительском каталоге.
Ваш Go-to Find?
Поскольку он охватывает наиболее распространенные виды использования с такой простотой, fd
может легко стать вашей командой «найти». Всякий раз, когда вам нужны более продвинутые функции, вы всегда можете вернуться к этому опытному ветерану, find
,
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)