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 ölçüde zaman harcıyorsanız, dosya bulmanın, komutları hatırlamanın ve dizinlerde gezinmenin sizi yavaşlatabileceğini zaten biliyorsunuz. fzf (Fuzzy Finder), bu engeli 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ı, komut satırı fuzzy finder’ı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ı fuzzy-matching algoritması kullanarak daraltır — bu da aradığınız şeyi bulmak için tam dizeler yazmanız gerekmediği anlamına gelir.

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

  • Dosya ve dizin araması büyük 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 shell’leriyle sorunsuz çalışır.

Linux’ta 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 için Önerilir)

GitHub deposundan kurulum, her zaman en güncel sürümü aldığınızdan emin olur.

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 üç yapılandırma sorusuyla karşılaşacaksınız:

  • Tuş bağlamalarını etkinleştir? (Önerilir: Evet) — Ctrl+T, Ctrl+R ve Alt+C kısayollarını ekler
  • Bulanık otomatik tamamlamayı etkinleştir? (Önerilir: Evet) — Sekme tamamlama entegrasyonunu etkinleştirir
  • Kabuk yapılandırma dosyalarını güncelle? (Ö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ıyla 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. İşte temellerinizi oluşturmak için gerekli komutlar.

1. İnteraktif Dosya Arama

Geçerli dizininizde fzf’yi başlatarak dosyaları etkileşimli olarak arayın:

fzf

İnteraktif 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 zamanda 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 gezinme
EnterSeçimi onayla
TabBirden fazla öğeyi işaretle
Ctrl+C / Escİptal et

2. Komut Geçmişinde Arama

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

history | fzf

Kurulum sırasında anahtar bağlamalarını 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 aktarın:

find . -type f | fzf

Yalnızca dizinleri aramak için:

find . -type d | fzf

4. Alt+C ile Dizine Gidin

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

5. Git Dallarında Arama

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çma

vim $(fzf)
nano $(fzf)

Bir dosya adının bir kısmını yazın, seçin ve editör hemen açılır — tam yolu yazmanıza gerek yoktur.

2. Bir Dosya Yolunu Panoya Kopyalama

fzf | xclip -selection clipboard

xsel kullanan sistemlerde:

fzf | xsel --clipboard --input

3. İnteraktif SSH Ana Bilgisayar Seçimi

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

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 zorunda değilsiniz.

> Birden fazla uzak sunucuyu yönetiyorsunuz mu? AlexHost’un Dedicated Servers hizmetleri, SSH-ağır iş akışlarına güvenen ekipler için mükemmel olan tam yönetim kontrolü ile kurumsal sınıf donanım sağlar.

4. Bir İşlemi İnteraktif Olarak Sonlandırma

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

Çalışan tüm işlemleri listeleyin, istediğinizi bulanık arama yaparak bulun ve sonlandırın — önceden PID’yi bilmenize gerek yoktur.

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

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öz dizimi vurgulanan önizlemeler için (bat gereklidir):

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

fzf’yi Özelleştirme

fzf, ortam değişkenleri ve shell yapılandırma dosyaları aracılığıyla kapsamlı şekilde yapılandırılabilir.

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çıklandı:

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ına bir kenarlık çiz
--multiTab ile çoklu seçimi etkinleştir

2. Renkleri Özelleştirin

fzf’nin renk şemasını terminal temanıza uydurun:

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 uydurmak için hex değerlerini ayarlayın.

3. Özel Tuş Bağlamaları

Shell 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. Bunu fd veya ripgrep gibi daha hızlı araçlarla değiştirebilirsiniz:

# 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. Kalıcı Yapılandırma Dosyası

Zsh kullanıcıları için, kalıcı fzf ayarlarını ayrılmış bir dosyada saklayabilirsiniz:

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

Bu dosyanın ~/.zshrc dosyasında kaynak olarak alındığından emin olun:

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

Pratik fzf İş Akışı Örnekleri

İşte .bashrc veya .zshrc dosyasına ekleyebileceğiniz hazır işlevler:

fzf ile İnteraktif cd

fcd() {
  local dir
  dir=$(find ${1:-.} -type d 2>/dev/null | fzf +m) && cd "$dir"
}

vim’de Son Dosyaları Aç

fvim() {
  local file
  file=$(find . -type f -name "*.${1:-*}" | fzf --preview 'cat {}')
  [ -n "$file" ] && vim "$file"
}

Git Stash’ı Ara ve Uygula

fstash() {
  local stash
  stash=$(git stash list | fzf | cut -d: -f1)
  [ -n "$stash" ] && git stash apply "$stash"
}

fzf Sorunlarını Giderme

SorunÇözüm
fzf: command not found~/.fzf/bin dosyasının $PATH içinde olduğundan emin olun; ~/.fzf/install komutunu yeniden çalıştırın
Tuş bağlamaları çalışmıyorKurulum betiğini yeniden çalıştırın ve shell yapılandırmasının yüklendiğini doğrulayın
Büyük dizinlerde yavaş performansFZF_DEFAULT_COMMAND değerini find yerine fd veya rg kullanacak şekilde ayarlayın
Renkler doğru görüntülenmiyorTerminal uygulamanızın 256 rengi desteklediğinden emin olun; önizleme komutlarına --color=always ekleyin
Paket kurulumundan sonra fzf bulunamıyorsource ~/.bashrc komutunu çalıştırın veya yeni bir terminal oturumu açın

Barındırma Ortamınız Neden Geliştirici Üretkenliği İçin Önemlidir

fzf gibi güçlü bir terminal iş akışı, yalnızca içinde çalıştığı ortam kadar etkilidir. Yavaş I/O, sınırlı kaynaklar veya kısıtlı izinler, en iyi araçları bile baltalayabilir.

  • Tam kontrol gerektiren geliştiriciler ve sistem yöneticileri için AlexHost’un VPS Hosting hizmeti, adanmış kaynaklar, root erişimi ve herhangi bir aracı kısıtlama olmadan yükleme esnekliği sağlar.
  • Web uygulamalarını yöneten takımlar için sunucunuzu cPanel’li VPS ile eşleştirmek, hem terminal gücü hem de grafik yönetim arayüzü sunar.
  • Alan adı ve web varlığı gerektiren projeler için AlexHost’un Domain Kaydı ve Paylaşımlı Web Hosting hizmetleri, uygun fiyatlı, tamamen yönetilen bir başlangıç noktası sunar.

Sonuç

fzf, Linux terminal iş akışınıza ekleyebileceğiniz en etkili araçlardan biridir. Bulanık eşleştirme algoritması, gerçek zamanlı filtreleme ve shell komutlarıyla sorunsuz entegrasyonu, dosya arama, komut hatırlama, Git dallarını yönetme veya uzak sunuculara gezinme olsun, onu vazgeçilmez bir üretkenlik çarpanı haline getirir.

Bu kılavuzun temel çıkarımları:

  • fzf’yi en son özellikler için Git klonu aracılığıyla yükleyin veya basitlik için paket yöneticinizi kullanın
  • fzf’nin en yararlı özelliklerine anında erişim için anahtar bağlamalarını (Ctrl+T, Ctrl+R, Alt+C) etkinleştirin
  • fzf’yi vim, ssh, git, kill ve find ile komut ikamesi kullanarak birleştirin
  • FZF_DEFAULT_OPTS ve shell yapılandırması aracılığıyla görünüm ve davranışı özelleştirin
  • fzf’yi tam özellikli bir dosya tarayıcısına dönüştürmek için --preview kullanın

Temel bilgilerle başlayın, iş akışınızla eşleşen entegrasyonları kademeli olarak dahil edin ve terminal olmadan nasıl yönettiğinizi merak etmeye başlayacaksınız.