Linux Komut Satırı Temelleri: Geliştiriciler İçin Rehber

Linux komut satırını etkili kullanmayı öğrenin. Dosya yönetimi, izinler, process kontrolü ve shell scripting temellerini pratik örneklerle detaylı keşfedin.

Sunucu yönetimi, deployment ve otomasyon işlemlerinin büyük çoğunluğu Linux komut satırı üzerinden gerçekleştirilir. GUI araçları sınırlı kalırken terminal size tam kontrol sunar. Bu rehberde dosya yönetimi, izin sistemi, process kontrolü, pipe ve yönlendirme operatörleri ile temel shell scripting kavramlarını pratik örneklerle ele alıyoruz.

Terminal ve Shell Kavramları

Terminal, komut satırı arayüzüne erişim sağlayan uygulamadır. Shell ise komutlarınızı yorumlayan programdır. Bash (Bourne Again Shell) çoğu Linux dağıtımında varsayılan shell'dir. Zsh, Fish ve Dash gibi alternatifler de mevcuttur. macOS Catalina'dan itibaren varsayılan shell Zsh olarak değiştirilmiştir.

Shell, komutlarınızı alır, işletim sistemi çekirdeğine iletir ve sonuçları ekrana yazar. Ortam değişkenleri, alias tanımları ve shell fonksiyonları ile çalışma ortamınızı özelleştirebilirsiniz. .bashrc veya .zshrc dosyası her terminal oturumunda otomatik olarak yüklenir.

💡 İpucu: man komutu herhangi bir komutun detaylı kullanım kılavuzunu gösterir. Örneğin man ls ile ls komutunun tüm parametrelerini öğrenebilirsiniz. Hızlı özet için tldr aracını kurmayı da düşünebilirsiniz.

Dosya ve Dizin Yönetimi

Linux'ta her şey bir dosyadır — metin dosyaları, dizinler, aygıtlar ve hatta process'ler. Dosya sistemi kök dizin (/) altında hiyerarşik olarak organize edilir. Aşağıdaki tablo en sık kullanılan dosya yönetimi komutlarını özetler.

Komut Açıklama Örnek
ls Dizin içeriğini listele ls -la /var/log
cd Dizin değiştir cd /etc/nginx
cp / mv / rm Kopyala / Taşı / Sil cp -r src/ backup/
find Dosya ara find / -name "*.log" -mtime -7
grep Metin içinde ara grep -r "error" /var/log/
chmod / chown İzin ve sahiplik değiştir chmod 755 script.sh

Dosya İzinleri ve Sahiplik

Linux'ta her dosyanın üç izin grubu vardır: sahip (owner), grup (group) ve diğerleri (others). Her grup için okuma (r=4), yazma (w=2) ve çalıştırma (x=1) izinleri ayrı ayrı tanımlanır. chmod 755 sahibe tam yetki, gruba ve diğerlerine okuma-çalıştırma yetkisi verir. Web sunucu dosyaları için genellikle 644 (dosyalar) ve 755 (dizinler) kullanılır.

⚠️ Önemli: Asla chmod 777 kullanmayın — bu herkese tam yetki verir ve ciddi güvenlik açığı oluşturur. Web dosyaları için chmod 644 ve dizinler için chmod 755 yeterlidir.

Process Yönetimi

Çalışan programlar process olarak adlandırılır. ps aux tüm process'leri listeler, top veya htop gerçek zamanlı kaynak kullanımını gösterir. kill komutuyla process'lere sinyal gönderebilirsiniz — kill -15 (SIGTERM) nazik kapatma, kill -9 (SIGKILL) zorla sonlandırma yapar.

Arka planda çalışan process'ler için & operatörü veya nohup komutu kullanılır. Ancak production ortamında process yönetimi için PM2 veya systemd gibi araçlar tercih edilmelidir. systemctl komutuyla systemd servislerini başlatabilir, durdurabilir ve durumlarını kontrol edebilirsiniz.

Pipe ve Yönlendirme Operatörleri

Pipe (|) bir komutun çıktısını başka bir komutun girdisi olarak kullanır. Bu, küçük ve tek amaçlı araçları birleştirerek güçlü işlem zincirleri oluşturmanızı sağlar — Unix felsefesinin temelidir. Örneğin cat access.log | grep "404" | wc -l komutu log dosyasındaki 404 hatalarını sayar.

Yönlendirme operatörleri çıktıyı dosyaya yazar: > üzerine yazar, >> ekler. 2>&1 hata çıktısını standart çıktıyla birleştirir. tee komutu çıktıyı hem ekrana hem dosyaya yazar. Bu teknikler sunucu yönetimi ve log analizi için vazgeçilmezdir.

Temel Shell Scripting

Shell script'ler tekrarlayan görevleri otomatikleştirmek için kullanılır. Değişkenler, koşullar (if/else), döngüler (for, while) ve fonksiyonlar ile karmaşık otomasyon senaryoları oluşturabilirsiniz. Script dosyasının ilk satırı #!/bin/bash (shebang) ile başlamalıdır.

Yedekleme script'leri, log rotasyonu, sağlık kontrolü ve deployment otomasyonu en yaygın kullanım alanlarıdır. Bash referans kılavuzu detaylı bilgi sunar. Daha karmaşık otomasyon ihtiyaçları için ShellCheck aracıyla script'lerinizi analiz edebilirsiniz.

Sıkça Sorulan Sorular

Bash mı Zsh mi kullanmalıyım?

Bash çoğu sunucuda varsayılan olarak bulunur ve script uyumluluğu açısından güvenilirdir. Zsh ise otomatik tamamlama, tema desteği ve plugin ekosistemi ile geliştirici deneyimini iyileştirir. Sunucu script'leri için Bash, kişisel terminal için Zsh önerilir.

Linux komut satırını öğrenmek ne kadar sürer?

Temel dosya yönetimi ve navigasyon komutlarını birkaç günde öğrenebilirsiniz. Process yönetimi, networking ve shell scripting konularında yetkinlik kazanmak birkaç hafta pratik gerektirir. Günlük kullanımda en sık ihtiyaç duyulan 20-30 komut işlerinizin büyük çoğunluğunu karşılar.

Windows'ta Linux komutlarını kullanabilir miyim?

Evet, WSL 2 (Windows Subsystem for Linux) ile Windows üzerinde tam bir Linux ortamı çalıştırabilirsiniz. Ubuntu, Debian veya Fedora dağıtımlarını Microsoft Store'dan yükleyerek Linux komut satırına doğrudan erişebilirsiniz.

Linux komut satırı temellerini öğrendikten sonra Nginx yapılandırma rehberimizi ve Docker geliştirme ortamı makalemizi incelemenizi öneririz.

Linux Sunucu Yönetimi Kolaylaştı

Hosted Cloud VPS sunucularında tam root erişimi ile Linux ortamınızı dilediğiniz gibi yapılandırın.

VPS Planlarını İnceleyin
M

Merve Arslan

WordPress & Hosting Uzmanı

WordPress performans optimizasyonu, hosting seçimi ve e-ticaret altyapıları üzerine rehber içerikler hazırlamaktadır.

Yorumlar yakında