Linux komut satırı temelleri, teknik destek, sunucu yönetimi veya oyun sunucusu kurulumu gibi alanlarda çalışan herkes için vazgeçilmez bir beceridir. Windows’un grafik arayüzüne alışkın kullanıcılar için ilk bakışta korkutucu görünse de, komut satırı belirli işlemleri çok daha hızlı ve tekrarlanabilir hale getirir. Bu yazı, Linux’un dosya sistemi mantığını, en sık kullanılan komutları ve günlük iş akışlarında nasıl uygulayacağınızı adım adım açıklar.
Neden Linux Komut Satırını Öğrenmelisiniz?
Komut satırı, işletim sistemiyle doğrudan konuşmanızı sağlayan bir arayüzdür; grafik pencereleri ve menüleri atlayarak işlemleri metin komutlarıyla gerçekleştirirsiniz. Oyun sunucuları, web sunucuları veya bulut hizmetleri yönetirken grafik arayüzü olmayan sistemlerle karşılaşmak kaçınılmazdır. SSH üzerinden bağlandığınız bir makinede tüm işlemleri komutlarla yapmanız gerekir.
Ayrıca komut satırı, işlemleri otomatikleştirmek için script yazmanıza olanak tanır. Tekrar eden görevleri bir kez yazıp binlerce kez çalıştırabilirsiniz. Bu, özellikle oyun sunucusu yönetimi, yedekleme veya sistem izleme gibi süreçlerde zaman kazandırır.
Dosya Sistemi Mantığı ve Temel Yapı
Linux dosya sistemi, Windows’tan farklı bir mantıkla çalışır. Windows’ta C:\, D:\ gibi sürücü harfleri varken, Linux’ta her şey tek bir kök dizinden (/) dallanır. Bu yapıyı anlamak, Linux komut satırı temelleri arasında en kritik olanıdır.
Temel dizinler ve işlevleri şunlardır:
/— Kök dizin, her şeyin başladığı yer/home— Kullanıcıların kişisel dosyaları/etc— Sistem yapılandırma dosyaları/var— Değişken veriler (loglar, veritabanları)/usr— Kullanıcı programları ve kütüphaneler/tmp— Geçici dosyalar
Windows’taki Program Files veya Kullanıcılar klasörlerinin karşılığı bu dizinlerde bulunur. Önemli fark, Linux’ta büyük-küçük harf duyarlılığıdır: Dosya.txt ile dosya.txt farklı dosyalardır.
En Sık Kullanılan Komutlar
Linux komut satırında binlerce komut vardır, ancak günlük işlerin yüzde doksanını yaklaşık yirmi komutla halledersiniz. İşte en temel olanları:
Dosya ve Dizin İşlemleri
ls — Bulunduğunuz dizindeki dosya ve klasörleri listeler. ls -la ile gizli dosyaları ve ayrıntılı bilgileri görürsünüz.
cd — Dizin değiştirmenizi sağlar. cd /var/log ile log dizinine, cd .. ile bir üst dizine, cd ~ ile ev dizininize dönersiniz.
pwd — Şu an hangi dizinde olduğunuzu gösterir. Kaybolduğunuzda ilk başvuracağınız komuttur.
mkdir — Yeni dizin oluşturur. mkdir yeni_klasor gibi kullanılır.
rm — Dosya veya dizin siler. rm dosya.txt tek dosya silerken, rm -r klasor/ dizini ve içeriğini siler. Dikkat: Silinen dosyalar geri dönüşüm kutusuna gitmez, kalıcı olarak silinir.
cp — Dosya veya dizin kopyalar. cp kaynak.txt hedef.txt şeklinde kullanılır.
mv — Dosya taşır veya yeniden adlandırır. mv eski.txt yeni.txt ad değiştirir, mv dosya.txt /hedef/dizin/ taşır.
Dosya İçeriği ve Arama
cat — Dosya içeriğini ekrana basar. Küçük dosyalar için idealdir: cat /etc/os-release
less — Büyük dosyaları sayfa sayfa görüntüler. q tuşu ile çıkılır.
grep — Dosya içinde metin arar. grep "hata" /var/log/syslog ile loglarda “hata” kelimesini bulursunuz.
find — Dosya ve dizin arar. find /home -name "*.txt" ile tüm metin dosyalarını bulabilirsiniz.
Sistem ve Süreç Yönetimi
ps — Çalışan süreçleri gösterir. ps aux ile tüm sistem süreçlerini listelersiniz.
top — Süreçleri canlı olarak izler; CPU ve bellek kullanımını gösterir. Daha gelişmiş versiyonu htop‘tur.
kill — Süreç sonlandırır. Önce ps ile süreç numarasını (PID) bulur, sonra kill 1234 gibi kullanırsınız.
df -h — Disk kullanımını insan okunabilir formatta gösterir.
free -h — Bellek kullanımını gösterir.
Dosya İzinleri ve Kullanıcı Yönetimi
Linux’ta her dosyanın sahibi, grubu ve üç izin türü vardır: okuma (r), yazma (w), çalıştırma (x). ls -la çıktısında -rwxr-xr-- gibi ifadeler görürsünüz.
chmod — İzinleri değiştirir. chmod +x script.sh ile bir dosyayı çalıştırılabilir yaparsınız.
chown — Dosya sahibini değiştirir. chown kullanici:grup dosya.txt şeklinde kullanılır.
sudo — Komutu yönetici yetkileriyle çalıştırır. Sistem dosyalarını değiştirirken gereklidir.
Günlük İş Akışlarında Uygulama
Komutları tek tek bilmek yetmez; gerçek senaryolarda nasıl birleştireceğinizi görmek gerekir.
Oyun Sunucusu Loglarını İnceleme
Bir oyun sunucusunda sorun araştırırken şu komut zinciri işinize yarar:
cd /var/log/game-server
grep "ERROR" latest.log | tail -20
Bu, log dosyasındaki son 20 hata satırını gösterir. tail -f latest.log ile canlı olarak yeni log girişlerini izleyebilirsiniz.
Dosya Yedekleme ve Taşıma
Sunucu dosyalarınızı yedeklerken:
tar -czf yedek-$(date +%Y%m%d).tar.gz /home/game-server/worlds/
Bu komut, dünya dosyalarınızı tarihli bir arşivde sıkıştırır. $(date +%Y%m%d) kısmı, her gün farklı bir dosya adı oluşturur.
Süreç İzleme ve Yeniden Başlatma
Çökmüş bir sunucu sürecini bulup yeniden başlatmak:
ps aux | grep game-server
kill 5678
./start-server.sh
Önce süreç numarasını bulur, sonra sonlandırır, en son başlatma scriptini çalıştırırsınız.
Komutları Birleştirme: Pipe ve Yönlendirme
Linux’un gerçek gücü, komutları birleştirebilmenizden gelir. Pipe (|) karakteri, bir komutun çıktısını diğerinin girdisi yapar. grep "oyuncu" log.txt | wc -l ile belirli bir oyuncunun loglarda kaç kez geçtiğini sayarsınız.
Yönlendirme operatörleri de önemlidir:
>— Çıktıyı dosyaya yazar, eski içeriği siler>>— Çıktıyı dosyanın sonuna ekler2>— Hata çıktısını yönlendirir
Örneğin ./start.sh > output.log 2> error.log ile normal ve hata çıktılarını ayrı dosyalara ayırırsınız.
Yaygın Hatalar ve Kaçınılması Gerekenler
Yeni başlayanların en sık düştüğü tuzaklar bellidir. rm -rf / komutu, kök dizinden itibaren her şeyi siler ve sistemi kullanılamaz hale getirir. Asla kök dizinde rm -rf * çalıştırmayın.
sudo ile çalıştırdığınız komutların ne yaptığını anlamadan ilerlemeyin. Yönetici yetkisiyle sistem dosyalarını yanlışlıkla değiştirmek, onarılması zor sorunlara yol açar.
Boşluk içeren dosya adlarında tırnak kullanmayı unutmayın. rm benim dosyam.txt yerine rm "benim dosyam.txt" yazmalısınız; aksi halde iki ayrı argüman olarak algılanır.
Sonraki Adımlar
Linux komut satırı temelleri öğrenildikten sonra, Bash script yazmayı öğrenmek iş akışlarınızı otomatikleştirir. Basit bir script, her gün manuel yaptığınız yedekleme, temizlik veya kontrol işlemlerini tek komuta indirir. cron ile bu scriptleri belirli saatlerde çalışacak şekilde zamanlayabilirsiniz.
Ayrıca vim veya nano gibi komut satırı editörlerinden birini seçip öğrenmek uzun vadede verimliliğinizi artırır. Grafik editörü olmayan sunucularda bu editörler tek seçeneğinizdir.
Komut satırı öğrenimi, sürekli pratik gerektirir. Günlük işlerinizi mümkün olduğunca terminal üzerinden yapmaya çalışın. Başlangıçta yavaş ilerleseniz de, birkaç hafta içinde fare kullanmadan çok daha hızlı işlem yapmaya başlayacaksınız.

