Linux temel komutları; dosya ve klasörlerde gezinmek, dosya oluşturup düzenlemek, izinleri yönetmek, çalışan programları izlemek ve sistem loglarını okumak için kullanılır. Yeni başlayan biri için en önemli komutlar ls, cd, pwd, cp, mv, rm, cat, grep, chmod, sudo, ps, systemctl ve journalctl'dır. Bu komutları bilmek sunucu yönetiminin ve siber güvenlikte log analizinin temelidir.
Aşağıda 30 komutu kategorilere ayırıp her biri için kısa açıklama ve gerçek hayattan örnek veriyorum. Komutları denemek için bir Linux makinesi, sanal makine ya da Windows'ta WSL yeterli.
Terminal ve kabuk nedir?
Terminal, komut yazdığın penceredir. Kabuk (shell) ise yazdığın komutu yorumlayıp çalıştıran programdır; Linux'ta en yaygını bash'tir. Bir komut genellikle şu yapıdadır:
komut -secenek hedef
Örneğin ls -l /var/log komutunda ls komut, -l seçenek, /var/log hedef klasördür. Herhangi bir komutun ayrıntılı açıklamasını görmek için man komut yazabilirsin.
Dosya sisteminde gezinme
1. pwd: Neredeyim?
Bulunduğun klasörün tam yolunu gösterir.
pwd
# /home/muhammed
2. ls: Klasörde ne var?
ls # dosyaları listeler
ls -l # ayrıntılı (izin, boyut, tarih)
ls -la # gizli dosyalar dahil
ls -lh # boyutlar okunabilir (K, M, G)
3. cd: Klasör değiştir
cd /var/log # mutlak yol
cd .. # bir üst klasör
cd ~ # ev klasörün
cd - # bir önceki klasör
4. tree: Klasör yapısını ağaç olarak göster
Kurulu değilse paket yöneticisiyle kurulabilir; büyük projelerde yapıyı anlamak için kullanışlıdır.
Dosya ve klasör işlemleri
5. mkdir: Klasör oluştur
mkdir yedekler
mkdir -p proje/src/app # ara klasörlerle birlikte
6. touch: Boş dosya oluştur
touch notlar.txt
7. cp: Kopyala
cp ayar.conf ayar.conf.yedek
cp -r proje/ proje-yedek/ # klasörü kopyala
8. mv: Taşı veya yeniden adlandır
mv eski.txt yeni.txt
mv rapor.pdf ~/belgeler/
9. rm: Sil
rm dosya.txt
rm -r klasor/
Dikkat: Linux'ta çöp kutusu yoktur; rm ile silinen dosya geri gelmez. Özellikle rm -rf komutunu yazmadan önce hangi klasörde olduğunu pwd ile kontrol et.
10. ln: Kısayol (bağlantı) oluştur
ln -s /var/www/site/releases/2026-11-05 /var/www/site/current
Sembolik bağlantılar, bir web sitesinin yeni sürümünü tek hamlede yayına almak için de kullanılır.
Dosya içeriğini okuma
11. cat: Dosyayı ekrana yaz
cat /etc/hostname
12. less: Uzun dosyayı sayfa sayfa oku
less /var/log/syslog
/ ile arama yapar, q ile çıkarsın.
13. head ve tail: Başını veya sonunu göster
head -n 20 dosya.log
tail -n 50 dosya.log
tail -f /var/log/nginx/access.log # canlı izle
tail -f, bir sunucuda neler olduğunu anlık izlemek için en çok kullanılan komutlardan biridir.
14. grep: Metin içinde ara
grep "error" uygulama.log
grep -i "failed password" /var/log/auth.log
grep -r "TODO" proje/
Siber güvenlikte log analizinin ilk aracı grep'tir. Örneğin başarısız SSH girişlerini bulmak için auth.log içinde "Failed password" aranır. Bu yaklaşımın büyük ölçekli halini, yani SIEM ile log analizini SOC analisti ne yapar? yazımda anlattım.
15. wc: Satır, kelime say
grep -c "Failed password" /var/log/auth.log
wc -l erisim.log
İzinler ve kullanıcılar
Linux'ta her dosyanın sahibi, grubu ve izinleri vardır: okuma (r), yazma (w), çalıştırma (x).
16. chmod: İzinleri değiştir
chmod 600 gizli.env # sadece sahibi okuyup yazabilir
chmod +x script.sh # çalıştırılabilir yap
Gizli anahtar ya da şifre içeren dosyaları 600 yapmak temel bir güvenlik adımıdır.
17. chown: Sahibini değiştir
sudo chown www-data:www-data /var/www/site -R
18. sudo: Yönetici yetkisiyle çalıştır
sudo apt update
19. whoami ve id: Ben kimim?
whoami
id
Paket yönetimi (Debian/Ubuntu)
20. apt: Paket kur ve güncelle
sudo apt update # paket listesini yenile
sudo apt upgrade # güncellemeleri kur
sudo apt install nginx # paket kur
Sunucuyu güncel tutmak, bilinen güvenlik açıklarına karşı en etkili önlemdir.
Süreçler ve servisler
21. ps: Çalışan süreçler
ps aux | grep python
22. top / htop: Canlı kaynak kullanımı
İşlemci ve bellek kullanımını anlık gösterir; sunucu yavaşladığında ilk bakılan yerdir.
23. kill: Süreci durdur
kill 12345
kill -9 12345 # zorla (son çare)
24. systemctl: Servisleri yönet
sudo systemctl status nginx
sudo systemctl restart nginx
sudo systemctl enable nginx # açılışta başlasın
Botların ve web uygulamalarının 7/24 çalışması ve çökünce yeniden başlaması genellikle systemd servisleriyle sağlanır.
25. journalctl: Servis loglarını oku
journalctl -u nginx --since "1 hour ago"
journalctl -u uygulamam -f
Disk ve sistem bilgisi
26. df: Disk doluluk oranı
df -h
27. du: Klasör boyutu
du -sh /var/log/*
Disk dolduğunda hangi klasörün büyüdüğünü bulmak için kullanılır.
28. free: Bellek durumu
free -h
Ağ komutları
29. ss: Açık portlar ve bağlantılar
sudo ss -tulpn
Sunucuda hangi portların dinlendiğini gösterir. Güvenlik açısından, internete gereksiz açılmış bir servis olup olmadığını kontrol etmenin en hızlı yoludur.
30. curl: Web isteği gönder
curl -I https://muhammedguveli.com
-I ile sadece yanıt başlıklarını görürsün; bir sitenin HTTPS ve güvenlik başlıklarını kontrol etmek için kullanışlıdır.
Komutları birleştirme: pipe (|)
Linux'un gücü, küçük komutları birleştirmekten gelir. | işareti bir komutun çıktısını diğerine verir:
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head
Bu satır, SSH'ye en çok başarısız giriş denemesi yapan IP adreslerini sayıp listeler. Bir saldırıyı fark etmek için çoğu zaman bu kadar basit bir komut yeterlidir.
Linux'u öğrenmek için öneriler
- Günlük kullan: Bir sanal makinede ya da WSL'de dosyalarını terminalden yönet.
- Küçük bir sunucu kur: Ucuz bir VPS'e nginx kurup bir sayfa yayınlamak çok şey öğretir. Hangi altyapının seçileceğini hosting mi VPS mi? yazımda anlattım.
- Logları oku:
/var/logaltında neler olduğunu incelemek, hem sistem yönetimi hem güvenlik için temel beceridir. - Uygulamalı platformlar kullan: TryHackMe gibi platformlarda Linux temelleri modülleri vardır.
Sonuç
Linux temel komutları; dosya yönetimi, izinler, süreçler, servisler, loglar ve ağ olmak üzere birkaç başlık altında toplanır. ls, cd, grep, chmod, systemctl ve journalctl gibi komutlar hem sunucu yöneticilerinin hem de güvenlik analistlerinin her gün kullandığı araçlardır. Ezberlemek yerine her gün birkaçını gerçek bir iş için kullanmak en hızlı öğrenme yoludur.
Sunucu kurulumu ve güvenliği konusunda destek istersen siber güvenlik sayfama bakabilir ya da iletişim sayfamdan yazabilirsin.
