Geliştirici İçin Olmazsa Olmaz 10 CLI Aracı

Modern geliştirici, terminalde çok zaman geçirir. Doğru araçlarla bu zaman katlanarak üretken hale gelir. İşte vazgeçilmez 10 CLI aracı.

1. fzf — Fuzzy Finder

Her şeyi interaktif olarak arayan, hayat kurtaran bir araç. Dosya, komut geçmişi, git branch — hepsi tek tuşla.

# Kurulum (macOS)
brew install fzf

# Dosya bul ve aç
vim $(fzf)

# Git branch değiştir
git checkout $(git branch | fzf)

# Komut geçmişinde ara (Ctrl+R)
# fzf otomatik bağlanır

2. ripgrep (rg) — Hızlı Arama

grep‘in modern versiyonu. 10 kat daha hızlı, .gitignore farkındalığı var.

# Tüm projedeki "TODO" yorumlarını bul
rg "TODO"

# Sadece JavaScript dosyalarında
rg "useState" -t js

# Replace
rg "oldName" -l | xargs sed -i "s/oldName/newName/g"

3. bat — cat Yerine Geçen

Syntax highlighting ile dosya görüntüleme:

# Eski
cat package.json

# Yeni
bat package.json
# Renkli, satır numaralı, git diff entegrasyonu var

4. exa / eza — ls’in Yerine

# Eski
ls -la

# Yeni
eza -la --icons --git
# Dosya türleri renklerle, git durumu, ikonlar

5. zoxide — cd’nin Akıllısı

Sık ziyaret ettiğin klasörleri öğrenir:

# Bir kere ziyaret et
cd ~/Projects/my-app

# Sonra her yerden
z my-app
# Otomatik olarak ~/Projects/my-app'e gider

6. tldr — man Sayfasının Özeti

Karmaşık man sayfaları yerine pratik örnekler:

# man tar (sayfalarca)
# tldr tar:

# Extract files from gzipped archive:
tar xzf archive.tar.gz

# Create archive:
tar czf archive.tar.gz file1 file2

7. lazygit — Git için TUI

Terminal’de git’i interaktif kullanmak:

lazygit
# Açılan ekranda:
# - Stage/unstage dosyalar
# - Commit, push, pull
# - Branch yönetimi
# - Tüm bunlar tek tuşla

8. httpie — curl’ün İnsan Dostu Hali

# Eski (curl)
curl -X POST https://api.example.com/users 
  -H "Content-Type: application/json" 
  -d '{"name":"Ali","age":25}'

# Yeni (httpie)
http POST api.example.com/users name=Ali age=25
# Daha kısa, renkli output, JSON otomatik

9. jq — JSON İşleyici

API yanıtlarını süzmek ve dönüştürmek:

# API'den isim listesi
curl api.github.com/users/torvalds/repos | jq '.[].name'

# Filtreleme
cat data.json | jq '.users[] | select(.age > 18)'

# Dönüştürme
cat data.json | jq '{names: [.users[].name], count: (.users | length)}'

10. tmux — Terminal Multiplexer

Tek pencereden 10 terminal yönetmek:

tmux new -s work

# Pencereyi böl
# Ctrl+B + " (yatay)
# Ctrl+B + % (dikey)

# Detach (oturumu canlı bırak)
# Ctrl+B + d

# Geri dön
tmux attach -t work

Bonus: Starship — Cross-Shell Prompt

# Kurulum
curl -sS https://starship.rs/install.sh | sh

# .zshrc veya .bashrc'ye ekle:
eval "$(starship init zsh)"

Sonuç: Git durumu, Node versiyonu, Python venv — her şey prompt’ta görünür.

Sonuç

Bu araçların en az 3-4’ünü dene. Bir hafta içinde geri dönmek istemeyeceksin. Üretkenliğin 2-3 katına çıkacak, hatta günlük kullanımda eski yöntemlere “nasıl katlanıyordum?” diyeceksin.

En çok hangisini merak ettin?

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top