🐧 Linux

QA otomasyonu için Linux öğren: dosya sistemi gezinme, izinler, pipe kullanımı, process yönetimi, bash script ve CI agent hata ayıklama.

Jenkins agent'ları, Docker container'ları, Kubernetes node'ları, GitHub Actions runner'ları ve çoğu cloud VM — hepsi Windows değil, Linux üzerinde çalışır. Testlerinin gerçekten çalıştığı makinelerde gezinmeyi, debug etmeyi ve otomasyon yapmayı öğren.

Bu sayfada neler öğreneceksin

  • 🎯 Linux nedir, QA mühendisi neden buna ihtiyaç duyar? — Linux, dokunacağın neredeyse her CI agent'ının, Docker container'ının, Kubernetes node'unun ve cloud VM'inin altında çalışan işletim sistemidir — görünür bir yüzey olarak değil, tüm binanın üzerine inşa edildiği görünmez taşıyıcı duvar olarak. Ama şu soruyu so
  • ⚙️ Bir Linux Ortamı Edinmek — WSL2 (Windows Subsystem for Linux 2) bir simülatör ya da emülatör değildir — tıpkı Docker Desktop'ın arka planda yaptığı gibi, Windows'un yanında hafif bir VM içinde gerçek bir Linux kernel çalıştırır. Bunu, gerçek bir uçak motoru kullanan bir uçuş simülatörü
  • 📁 Dosya Sistemi & Navigasyon — Linux dosya sistemi, kökü `/` olan tek bir baş aşağı ağaçtır — her dosya, her cihaz, her bağlı volume bu tek kökten sarkar; hiçbir yerde `C:` veya `D:` sürücü harfi yoktur. Ama Windows ve Java geliştiricilerinin takıldığı asıl soru şudur: sürücü harfi yoksa Li
  • 🔐 İzinler & Kullanıcılar — Linux dosya izinleri üç-kitleli bir erişim kontrol sistemidir: her dosyanın "kim ne yapabilir" sorusuna tam üç cevabı vardır — owner (sahip), aynı gruptakiler ve diğer herkes — ve her cevap üç bittir: okuma (r), yazma (w), çalıştırma (x). Mekanizma,
  • 📝 Metin İşleme & Pipe'lar — Linux pipe (`|`), bir process'in standart çıktısını (stdout) doğrudan bir sonraki process'in standart girdisine (stdin) bağlar; ara dosya olmadan küçük, tek amaçlı araçlardan veri-işleme pipeline'ı kurar. Bunu Java'nın Stream API'sindeki zincirlemeyle aynı şek
  • ⚙️ Süreçler & Servisler — Linux'ta çalışan her program bir process'tir — kendi PID'i (process ID), bellek alanı, dosya descriptor'ları ve signal handler'larıyla izole bir birimdir — ve OS zamanlayıcısı her birine sırayla CPU zamanı verir, tıpkı Java'nın JVM'inin thread'leri zamanlaması
  • 🧪 Gerçek Hayat QA Senaryoları — Canlı bir Linux agent'ında başarısız olan bir CI pipeline'ını debug etmek, çalışan bir motorun üzerinde ameliyat yapmak gibidir — sistem durdurulamaz, ortam değiştirilemez ve yanlış teşhis koyarsan her adım işleri daha da kötüleştirebilir. Gerçek dünyadan QA s
  • 🔗 Ekosistem — Linux, QA ekosistemindeki tek bir araç değildir — stack'indeki diğer her aracın üzerine inşa edildiği ortak kernel'dir. Docker container'ları host'un Linux kernel'ini paylaşır. Kubernetes node'ları Linux çalıştırır. GitHub Actions `ubuntu-latest` runner'ları L