Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
Linux Sanal Sunucular

Linux’ta fzf Nasıl Kurulur ve Kullanılır: Terminal’de Bulanık Bulma Hakkında Tam Rehber

Linux terminalinde önemli zaman harcıyorsanız, dosya bulma, komutları hatırlama ve dizinlerde gezinmenin sizi yavaşlatabileceğini zaten biliyorsunuz. fzf (Fuzzy Finder), bu engelleri tamamen ortadan kaldıran, ışık hızında çalışan, etkileşimli bir komut satırı aracıdır. Binlerce dosyayı filtreliyor olun, komut geçmişinde arama yapıyor olun veya Git dalları arasında geçiş yapıyor olun, fzf sıkıcı terminal görevlerini akıcı, neredeyse anlık işlemlere dönüştürür.

Bu kapsamlı kılavuzda, fzf’yi Linux’a nasıl kuracağınızı, temel özelliklerinde ustalaşacağınızı, popüler araçlarla nasıl entegre edeceğinizi ve bunu tam olarak iş akışınıza uyacak şekilde nasıl özelleştireceğinizi öğreneceksiniz.

> Kendi Linux ortamınızı mı çalıştırıyorsunuz? Güçlü bir geliştirme kurulumu doğru altyapıyla başlar. AlexHost’un VPS Hosting hizmeti size tam root erişimi, yüksek performanslı SSD depolama ve sunucunuzu tamamen yapılandırma özgürlüğü sağlar — üretken bir Linux terminal iş akışı oluşturmak için ideal bir temel.

fzf Nedir?

fzf, Go dilinde yazılmış, genel amaçlı bir komut satırı bulanık bulucu (fuzzy finder) aracıdır. Standart girdiden bir öğe listesini okur ve bunları gerçek zamanlı, etkileşimli bir filtreleme arayüzünde sunar. Yazarken, fzf sonuçları bulanık eşleştirme algoritması kullanarak daraltır — aradığınız şeyi bulmak için tam dizeleri yazmanız gerekmez.

fzf’nin temel yetenekleri şunları içerir:

  • Dosya ve dizin araması geniş dizin ağaçlarında
  • Komut geçmişi navigasyonu anlık geri çağırma ile
  • Git dalı ve commit taraması
  • İşlem yönetimi ve etkileşimli sonlandırma
  • SSH ana bilgisayar seçimi yapılandırma dosyanızdan
  • Satır tabanlı çıktı üreten hemen hemen her komutla entegrasyon

fzf hafif, kurulumdan sonra bağımlılıksız ve Bash, Zsh ve Fish kabukları ile sorunsuz çalışır.

Linux’a fzf Kurulumu

İki ana kurulum yöntemi vardır: resmi Git deposunu klonlamak veya dağıtımınızın paket yöneticisini kullanmak. Her ikisi de basittir.

Yöntem 1: Git Üzerinden Kurulum (En Son Sürüm İçin Önerilir)

GitHub deposundan kurulum, her zaman en güncel sürümü almanızı sağlar.

Adım 1 — Depoyu klonlayın:

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

Adım 2 — Kurulum betiğini çalıştırın:

cd ~/.fzf
./install

Kurulum sırasında, size üç yapılandırma sorusu sorulacaktır:

  • Anahtar bağlamaları etkinleştirilsin mi? (Önerilir: Evet) — Ctrl+T, Ctrl+R ve Alt+C kısayollarını ekler
  • Bulanık otomatik tamamlama etkinleştirilsin mi? (Önerilir: Evet) — Sekme tamamlama entegrasyonunu etkinleştirir
  • Kabuk yapılandırma dosyaları güncellensin mi? (Önerilir: Evet) — Otomatik olarak fzf’yi .bashrc / .zshrc içinde kaynaklandırır

Kurulumdan sonra, kabuğunuzu yeniden yükleyin:

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

Yöntem 2: Paket Yöneticisi Üzerinden Kurulum

Paket yöneticisi kurulumu daha hızlıdır ve sisteminizin güncelleme mekanizması ile entegre olur, ancak biraz daha eski bir sürüm sağlayabilir.

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

Kurulumunuzu doğrulayın:

fzf --version

fzf’nin Temel Kullanımı

Kurulduktan sonra, fzf hemen kullanılabilir. Temellerinizi oluşturmak için gerekli komutlar şunlardır.

1. Etkileşimli Dosya Araması

Geçerli dizininizde dosyaları etkileşimli olarak aramak için fzf’yi başlatın:

fzf

Etkileşimli bir istem görünür. Bir dosya adının herhangi bir bölümünü yazmaya başlayın — fzf sonuçları gerçek zamanlı olarak filtreler. Gezinmek için ok tuşlarını kullanın ve seçmek için Enter tuşuna basın.

Yararlı navigasyon kısayolları:

Tuşİşlem
/ Sonuçlarda gezin
EnterSeçimi onayla
TabBirden fazla öğeyi işaretle
Ctrl+C / Escİptal et

2. Komut Geçmişinde Arama Yapın

fzf’nin en popüler kullanım durumlarından biri etkileşimli komut geçmişi aramasıdır:

history | fzf

Kurulum sırasında anahtar bağlamaları etkinleştirdiyseniz, terminalinizde herhangi bir zamanda Ctrl+R tuşuna basarak bunu anında tetikleyebilirsiniz — varsayılan ters aramadan çok daha güçlüdür.

3. fzf’yi find ile Birleştirin

Dosya sisteminizde özyinelemeli olarak arama yapın ve sonuçları fzf’ye yönlendirin:

find . -type f | fzf

Yalnızca dizinleri aramak için:

find . -type d | fzf

4. Alt+C ile Bir Dizine Gidin

Anahtar bağlamaları etkinleştirdiyseniz, Alt+C tuşuna basarak etkileşimli bir dizin navigatörü açılır. Bir dizin seçin ve fzf otomatik olarak cd komutunu çalıştırarak oraya gider.

5. Git Dallarında Arama Yapın

Büyük depolarda Git dallarını hızlı bir şekilde bulun ve referans alın:

git branch | fzf

Bir dalı etkileşimli olarak kontrol etmek için:

git checkout $(git branch | fzf)

fzf’yi Diğer Komutlarla Entegre Etme

fzf’nin gerçek gücü, komut ikamesi ($(fzf)) kullanarak diğer araçlarla birleştirdiğinizde ortaya çıkar.

1. Bir Dosyayı Doğrudan vim veya nano’da Açın

vim $(fzf)
nano $(fzf)

Bir dosya adının bir bölümünü yazın, seçin ve editör hemen açılır — tam yolu yazmanız gerekmez.

2. Bir Dosya Yolunu Panoya Kopyalayın

fzf | xclip -selection clipboard

xsel kullanan sistemlerde:

fzf | xsel --clipboard --input

3. Etkileşimli SSH Ana Bilgisayar Seçimi

Birden fazla sunucuyu yönetiyorsanız, bu entegrasyon oyun değiştiricidir:

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

Bu, SSH yapılandırma dosyanızı ayrıştırır ve bağlanmadan önce etkileşimli olarak bir ana bilgisayar seçmenizi sağlar — artık ana bilgisayar adlarını veya IP adreslerini ezberlemek gerekmez.

> Birden fazla uzak sunucuyu mı yönetiyorsunuz? AlexHost’un Dedicated Servers hizmeti, SSH ağırlıklı iş akışlarına dayanan takımlar için mükemmel olan, kurumsal sınıf donanım ve tam yönetim denetimi sağlar.

4. Bir İşlemi Etkileşimli Olarak Sonlandırın

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

Çalışan tüm işlemleri listeleyin, istediğiniz işlemi bulanık olarak arayın ve sonlandırın — önceden PID’yi bilmenize gerek yok.

5. Arama Sırasında Dosya İçeriğini Önizleyin

fzf, arama sonuçlarınızın yanında dosya içeriğini görüntüleyen bir --preview bayrağını destekler:

fzf --preview 'cat {}'

Sözdizimi vurgulanan önizlemeler için (bat gereklidir):

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

fzf’yi Özelleştirme

fzf, ortam değişkenleri ve kabuk yapılandırma dosyaları aracılığıyla kapsamlı bir şekilde özelleştirilebilir.

1. FZF_DEFAULT_OPTS ile Varsayılan Seçenekleri Ayarlayın

Seçenekleri genel olarak uygulamak için bunu ~/.bashrc veya ~/.zshrc dosyasına ekleyin:

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

Yaygın seçenekler açıklanmıştır:

SeçenekAçıklama
--height 40%fzf’yi terminalin alt %40’ında görüntüle
--reverseSonuçları yukarıdan aşağıya göster (giriş en üstte)
--inline-infoEşleşme sayısını satır içinde göster
--borderfzf penceresi etrafında bir sınır çiz
--multiTab ile çoklu seçimi etkinleştir

2. Renkleri Özelleştirin

fzf’nin renk şemasını terminal temanıza uyacak şekilde ayarlayın:

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"

Bu örnek, popüler Gruvbox renk şemasını kullanır. Tercih ettiğiniz temaya uyacak şekilde onaltılık değerleri ayarlayın.

3. Özel Anahtar Bağlamaları

Kabuk yapılandırma dosyanıza özel bağlamalar ekleyin:

# 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 ile Varsayılan Dosya Kaynağını Ayarlayın

Varsayılan olarak, fzf dosyaları listelemek için find kullanır

Güvenlik Sanal Sunucular
Sanal Sunucular Yönetim
Linux Sanal Sunucular Yönetim