Komut satırı araç kutusu: ripgrep, fd, fzf ve parallel
Klasik araçların hızlı modern karşılıklarını, GNU parallel ile toplu işi ve watch, entr gibi küçük yardımcıları tanıyıp kendi araç kutunu kurarsın.
Seviye 301 · 18 ders · 21 pratik lab
Dersler
Aramak ve bulmak
- ripgrep ile hızlı kod ve günlük araması
- fd ile dosya bulmak ve find ile farkları
- fzf ile etkileşimli seçim: geçmiş, dosya ve süreç
- plocate ile dizin tabanlı arama ve dizini taze tutmak
- Kısa görev: bir kod deposunda unutulmuş anahtarları dakikalar içinde bul
Toplu ve paralel iş
- GNU parallel: girdi kaynakları ve yer tutucular
- Paralel işte sınır, ilerleme ve yeniden deneme
- watch ve entr: değişince yeniden çalıştırmak
- timeout ve yeniden deneme döngüleri
- Kısa görev: on bin dosyanın özetini paralel çıkar ve karşılaştır
Görmek ve karşılaştırmak
- bat, less ve sözdizimi renklendirme
- Renkli ve kelime düzeyinde fark: diff, wdiff, colordiff
- pv ile boru hattında ilerleme ve hız
- column ve numfmt ile okunur tablolar
- Kısa görev: ham çıktıyı yöneticiye gidecek okunur tabloya çevir
Araç kutunu kurmak
- Kişisel ayar dosyalarını sürümlemek
- Araçların olmadığı sunucuda klasik araçlarla aynı işi yapmak
- Bitirme görevi: büyük bir olay klasörünü yeni araç kutunla incele
Pratik lablar
- Depoda unutulmuş anahtarları ripgrep ile bul: Kod deposunda API anahtarı kalıbına uyan satırları ripgrep ile bul ve dosya yollarını raporla.
- fd ile son değişen betikleri bul: Gizli ve yok sayılan dosyalar dahil son iki günde değişmiş kabuk betiklerini fd ile listele.
- Güncel olmayan dizin yüzünden bulunamayan dosyayı bul: plocate'in bulamadığı yeni dosyanın nedenini dizin güncelliğinden bul, dizini yenile ve dosyanın yolunu cevap olarak gir.
- Değişen betikleri vurgulu görüntüle ve hatayı bul: Son değişen betikleri bat ile satır numarası ve git farkı işaretleriyle incele ve eklenen şüpheli satırı bul.
- Uzun dosyanın yalnızca ilgili satırlarını vurgulu göster: Hata mesajının gösterdiği satır aralığını bat ile satır numaralı ve vurgulu görüntüle, uzantısı olmayan dosya için sözdizimi türünü elle seç ve hatalı satırı düzelt.
- bat'i kılavuz ve fark görüntüleyicisi olarak bağla: man sayfalarının ve git diff çıktısının bat ile renkli açılmasını sağlayan ortam ayarlarını yap, boru hattında düz çıktıya döndüğünü doğrula ve ayarı kabuk profiline kalıcı olarak ekle.
- Takılan komutu on saniyede kes: Yanıt vermeyen sunucuya bağlanmaya çalışan komutu timeout ile on saniyeyle sınırla ve süre dolduğunda dönen çıkış kodunu yaz.
- Asılı kalan komutu zaman aşımıyla sınırla: Ara sıra takılan sağlık denetimini timeout ve sınırlı yeniden deneme döngüsüyle saran bir betik yaz.
- Sinyali yok sayan komutu kademeli sonlandır: TERM sinyalini yok sayan bir yedekleme komutunu timeout'un sinyal ve --kill-after seçenekleriyle önce nazikçe, sonra zorla sonlandır; 124 ve 137 çıkış kodlarını ayırt edip günlüğe yazan sarmalayıcıyı hazırla.
- fzf ile yüzlerce dosyadan birini seç: Günlük dizinindeki dosya listesini fzf'e ver, adının bir parçasını yazarak istenen günlüğü seç ve seçilen yolu cevap dosyasına yaz.
- fzf önizlemesiyle doğru yapılandırmayı bul: Yapılandırma dosyalarını fzf'te içerik önizlemesiyle gez, belirli bir portu dinleyen dosyayı önizlemeden bul ve seçimi düzenleyicide açan tek satırlık komutu yaz.
- fzf ile süreç seçip sonlandıran kısayol yaz: Süreçleri fzf ile listeleyip seçileni nazikçe sonlandıran küçük bir kabuk fonksiyonu yaz.
- Binlerce dosyanın özetini paralel hesapla: Arşiv dizinindeki tüm dosyaların SHA-256 özetini GNU parallel ile hesapla ve tek dosyada topla.
- Ara sıra başarısız olan işleri yeniden dene: Bazen hata veren dönüştürme işlerini parallel ile sınırlı eşzamanlılık ve yeniden deneme ayarıyla çalıştır, başarısız kalanları listele.
- Dosya değişince testi otomatik çalıştır: Yapılandırma dosyası her kaydedildiğinde sözdizimi denetimini entr ile otomatik çalıştıran ve sonucu günlüğe yazan düzeni kur.
- İki yapılandırma arasındaki kelime farkını bul: Uzun satırlı iki yapılandırma dosyası arasındaki değişen değerleri kelime düzeyinde fark aracıyla bul ve raporla.
- Ham çıktıyı yönetici için okunur tabloya çevir: Disk kullanım çıktısını column ve numfmt ile hizalı, insan okuyabilir boyutlu bir tabloya dönüştür.
- Uzun aktarımın hızını ve kalan süresini göster: Büyük arşivin sıkıştırılmasını pv ile izle, hız sınırı koy ve tahmini bitiş süresini cevap olarak gir.
- Kişisel ayar dosyalarını sürüm denetimine al: Kabuk, düzenleyici ve tmux ayar dosyalarını bir git deposunda topla ve sembolik bağlantılarla yerlerine bağla.
- Modern araç yokken aynı işi klasik araçlarla yap: ripgrep ve fd kurulu olmayan sunucuda aynı aramayı find, grep ve xargs ile yap ve sonuçların aynı olduğunu doğrula.
- Büyük olay klasörünü araç kutusuyla tara: Binlerce dosyalık olay klasöründe şüpheli IP'leri, değişen ikilileri ve sızan anahtarları bulup tek özet raporda topla.
Kurs hakkında
Klasik araçların hızlı modern karşılıklarını, GNU parallel ile toplu işi ve watch, entr gibi küçük yardımcıları tanıyıp kendi araç kutunu kurarsın.
Ne öğreneceksin
- Aramak ve bulmak
- Toplu ve paralel iş
- Görmek ve karşılaştırmak
- Araç kutunu kurmak
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 301 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.