Спестете 15% от всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код: Skills За начало
Заглавия
Linux Виртуални сървъри

Как да инсталирате и използвате fzf на Linux: Пълното ръководство за размито намиране в терминала

Ако прекарвате значително време в Linux терминала, вече знаете, че намирането на файлове, припомнянето на команди и навигирането в директориите могат да ви забавят. fzf (Fuzzy Finder) е невероятно бърз, интерактивен инструмент за командния ред, който напълно елиминира това трение. Независимо дали филтрирате хиляди файлове, търсите история на команди или превключвате Git клонове, fzf превръща досадните терминални задачи в плавни, почти мигновени операции.

В този всеобхватен справочник ще научите как да инсталирате fzf на Linux, да овладеете основните му функции, да го интегрирате с популярни инструменти и да го персонализирате според вашия точен работен процес.

> Работите ли със собствена Linux среда? Мощна разработка започва с правилната инфраструктура. AlexHost VPS хостинг ви дава пълен root достъп, висока производителност SSD хранилище и пълна свобода да конфигурирате вашия сървър — идеалната основа за изграждане на продуктивен Linux терминален работен процес.

Какво е fzf?

fzf е универсален, командно-редов fuzzy finder, написан на Go. Той чете списък от елементи от стандартния вход и ги представя в интерфейс за реално време, интерактивно филтриране. Докато пишете, fzf стеснява резултатите, използвайки fuzzy-matching алгоритъм — което означава, че не трябва да пишете точни низове, за да намерите това, което търсите.

Ключовите възможности на fzf включват:

  • Търсене на файлове и директории в големи дърветата на директориите
  • Навигация в историята на команди с мигновено припомняне
  • Преглед на Git клонове и commit
  • Управление на процеси и интерактивно убиване
  • Избор на SSH хост от вашия конфигурационен файл
  • Интеграция с практически всяка команда, която произвежда изход, базиран на редове

fzf е лек, без зависимости след инсталация и работи безпроблемно с Bash, Zsh и Fish shell.

Инсталиране на fzf на Linux

Има два основни метода на инсталация: клониране на официалното Git хранилище или използване на пакетния мениджър на вашата дистрибуция. И двата са прави.

Метод 1: Инсталиране чрез Git (препоръчано за най-новата версия)

Инсталирането от GitHub хранилището гарантира, че винаги получавате най-актуалната версия.

Стъпка 1 — Клониране на хранилището:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf

Стъпка 2 — Стартиране на инсталационния скрипт:

cd ~/.fzf
./install

По време на инсталация ще бъдете попитани с три конфигурационни въпроса:

  • Активиране на клавишни комбинации? (препоръчано: Да) — Добавя Ctrl+T, Ctrl+R и Alt+C преки пътища
  • Активиране на fuzzy автодопълване? (препоръчано: Да) — Активира интеграция на tab-допълване
  • Актуализиране на конфигурационни файлове на shell? (препоръчано: Да) — Автоматично sourcing на fzf в .bashrc / .zshrc

След инсталация, презаредете вашия shell:

source ~/.bashrc   # For Bash users
source ~/.zshrc    # For Zsh users

Метод 2: Инсталиране чрез пакетния мениджър

Инсталирането чрез пакетния мениджър е по-бързо и се интегрира с механизма за актуализиране на вашата система, въпреки че може да предостави малко по-стара версия.

Ubuntu / Debian:

sudo apt update && sudo apt install fzf

Fedora:

sudo dnf install fzf

Arch Linux / Manjaro:

sudo pacman -S fzf

macOS (Homebrew):

brew install fzf
$(brew --prefix)/opt/fzf/install

Проверка на вашата инсталация:

fzf --version

Основна употреба на fzf

След инсталация, fzf е веднага използваем. Ето основните команди, за да изградите вашата основа.

1. Интерактивно търсене на файлове

Стартирайте fzf в текущата директория, за да интерактивно търсите файлове:

fzf

Появява се интерактивна подсказка. Начнете да пишете всяка част от име на файл — fzf филтрира резултатите в реално време. Използвайте стрелките, за да навигирате, и натиснете Enter за избор.

Полезни преки пътища за навигация:

КлавишДействие
/ Навигиране на резултатите
EnterПотвърждаване на избор
TabМаркиране на множество елементи
Ctrl+C / EscОтмяна

2. Търсене в историята на команди

Един от най-популярните случаи на употреба на fzf е интерактивното търсене в историята на команди:

history | fzf

Ако сте активирали клавишни комбинации по време на инсталация, можете да натиснете Ctrl+R по всяко време в вашия терминал, за да го активирате мигновено — много по-мощно от стандартното обратно търсене.

3. Комбиниране на fzf с find

Търсете рекурсивно във вашата файлова система и пренасочете резултатите в fzf:

find . -type f | fzf

За търсене само на директории:

find . -type d | fzf

4. Навигиране до директория с Alt+C

Ако сте активирали клавишни комбинации, натискането на Alt+C отваря интерактивен навигатор на директории. Изберете директория и fzf автоматично стартира cd за навигиране там.

5. Търсене на Git клонове

Бързо намерете и препратете Git клонове в големи хранилища:

git branch | fzf

За проверка на клон интерактивно:

git checkout $(git branch | fzf)

Интеграция на fzf с други команди

Истинската мощ на fzf се появява, когато го комбинирате с други инструменти, използвайки command substitution ($(fzf)).

1. Отваряне на файл директно в vim или nano

vim $(fzf)
nano $(fzf)

Пишете част от име на файл, го избирате и редакторът се отваря мигновено — без необходимост да пишете пълния път.

2. Копиране на пътя на файл в буфера обмен

fzf | xclip -selection clipboard

На системи, използващи xsel:

fzf | xsel --clipboard --input

3. Интерактивен избор на SSH хост

Ако управлявате множество сървъри, тази интеграция е промяна на играта:

ssh $(grep -i "^Host " ~/.ssh/config | awk '{print $2}' | fzf)

Това анализира вашия SSH конфигурационен файл и ви позволява интерактивно да изберете хост преди свързване — без необходимост да запомняте имена на хостове или IP адреси.

> Управлявате ли множество отдалечени сървъри? AlexHost Dedicated Servers предоставят хардуер на ниво предприятие с пълен административен контрол, което ги прави идеални за екипи, които разчитат на SSH-интензивни работни процеси.

4. Интерактивно убиване на процес

kill -9 $(ps aux | fzf | awk '{print $2}')

Изведете списък на всички работещи процеси, fuzzy-търсете този, който искате, и го убийте — всичко без необходимост да знаете PID предварително.

5. Преглед на съдържанието на файл по време на търсене

fzf поддържа флаг --preview, който показва съдържанието на файл заедно с резултатите от търсенето:

fzf --preview 'cat {}'

За преглед с синтаксис подсветка (изисква bat):

fzf --preview 'bat --color=always {}'

Персонализиране на fzf

fzf е обширно конфигурируем чрез променливи на среда и конфигурационни файлове на shell.

1. Задаване на опции по подразбиране с FZF_DEFAULT_OPTS

Добавете това към вашия ~/.bashrc или ~/.zshrc за прилагане на опции глобално:

export FZF_DEFAULT_OPTS="--height 40% --reverse --inline-info --border"

Обяснение на често използваните опции:

ОпцияОписание
--height 40%Показване на fzf в долните 40% на терминала
--reverseПоказване на резултатите отгоре надолу (вход в горната част)
--inline-infoПоказване на брой съвпадения вътрешно
--borderРисуване на граница около прозореца на fzf
--multiАктивиране на мултиизбор с Tab

2. Персонализиране на цветовете

Съответствие на цветовата схема на fzf с вашата тема на терминала:

export FZF_DEFAULT_OPTS="--color=bg+:#3c3836,bg:#282828,fg:#ebdbb2,fg+:#ebdbb2,hl:#fabd2f,hl+:#fabd2f,info:#83a598,prompt:#bdae93,spinner:#fabd2f,pointer:#83a598,marker:#fe8019,border:#665c54"

Този пример използва популярната цветна схема Gruvbox. Регулирайте шестнадесетичните стойности, за да съответстват на вашата предпочитана тема.

3. Персонализирани клавишни комбинации

Добавете персонализирани комбинации към вашия конфигурационен файл на shell:

# Ctrl+T — fuzzy file finder
export FZF_CTRL_T_COMMAND="find . -type f 2>/dev/null"

# Alt+C — fuzzy directory navigator
export FZF_ALT_C_COMMAND="find . -type d 2>/dev/null"

# Ctrl+R — command history search with preview
export FZF_CTRL_R_OPTS="--preview 'echo {}' --preview-window down:3:hidden:wrap --bind '?:toggle-preview'"

4. Задаване на източник на файл по подразбиране с FZF_DEFAULT_COMMAND

По подразбиране fzf използва find за изведение на файлове. Можете да замените това с по-бързи инструменти като fd или ripgrep:

# Using fd (faster alternative to find)
export FZF_DEFAULT_COMMAND="fd --type f --hidden --follow --exclude .git"

# Using ripgrep
export FZF_DEFAULT_COMMAND="rg --files --hidden --follow --glob '!.git'"

5. Постоянен конфигурационен файл

За потребители на Zsh можете да съхранявате постоянни настройки на fzf в отделен файл:

echo "export FZF_DEFAULT_OPTS='--height 40% --reverse --inline-info --border'" >> ~/.fzf.zsh

Уверете се, че този файл е sourced във вашия ~/.zshrc:

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

Практични примери на работен процес с fzf

Linux Защита
Администрация Виртуални сървъри
Linux Администрация