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 ~/.fzfAdım 2 — Kurulum betiğini çalıştırın:
cd ~/.fzf
./installKurulum sırasında, size üç yapılandırma sorusu sorulacaktır:
- Anahtar bağlamaları etkinleştirilsin mi? (Önerilir: Evet) —
Ctrl+T,Ctrl+RveAlt+Ckı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/.zshrciçinde kaynaklandırır
Kurulumdan sonra, kabuğunuzu yeniden yükleyin:
source ~/.bashrc # For Bash users
source ~/.zshrc # For Zsh usersYö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 fzfFedora:
sudo dnf install fzfArch Linux / Manjaro:
sudo pacman -S fzfmacOS (Homebrew):
brew install fzf
$(brew --prefix)/opt/fzf/installKurulumunuzu doğrulayın:
fzf --versionfzf’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:
fzfEtkileş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 |
Enter | Seçimi onayla |
Tab | Birden 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 | fzfKurulum 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 | fzfYalnızca dizinleri aramak için:
find . -type d | fzf4. 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 | fzfBir 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 clipboardxsel kullanan sistemlerde:
fzf | xsel --clipboard --input3. 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çenek | Açıklama |
|---|---|
--height 40% | fzf’yi terminalin alt %40’ında görüntüle |
--reverse | Sonuçları yukarıdan aşağıya göster (giriş en üstte) |
--inline-info | Eşleşme sayısını satır içinde göster |
--border | fzf penceresi etrafında bir sınır çiz |
--multi | Tab 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
tasarruf edin