Linux temel komutlar: yeni başlayanlar için 30 komut ve örnekleri

Kariyer ve öğrenme · Yayın · 5 dk okuma

Linux terminal penceresi ve yanıp sönen imleç

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

  1. Günlük kullan: Bir sanal makinede ya da WSL'de dosyalarını terminalden yönet.
  2. 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.
  3. Logları oku: /var/log altında neler olduğunu incelemek, hem sistem yönetimi hem güvenlik için temel beceridir.
  4. 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.

Sık sorulan sorular

Linux öğrenmeye hangi komutlarla başlamalıyım?

Önce dosya sisteminde gezinmeyi sağlayan pwd, ls ve cd ile başla. Ardından dosya işlemleri için mkdir, cp, mv ve rm; içerik okumak için cat, less, tail ve grep öğren. Sonra chmod, sudo, systemctl ve journalctl gibi izin ve servis komutlarına geç.

Windows'ta Linux komutlarını nasıl deneyebilirim?

Windows 10 ve 11'de WSL (Windows Subsystem for Linux) ile Ubuntu gibi bir Linux dağıtımını doğrudan çalıştırabilirsin. Alternatif olarak VirtualBox ile bir sanal makine kurmak ya da düşük maliyetli bir VPS kiralamak da iyi pratik ortamlarıdır.

rm -rf komutu neden tehlikeli?

rm -rf, belirtilen klasörü içindeki her şeyle birlikte onay istemeden ve geri dönüşü olmadan siler. Yanlış klasörde ya da yanlış yazılmış bir yolla çalıştırılırsa önemli verileri yok edebilir. Bu yüzden kullanmadan önce pwd ile konumunu kontrol etmek ve yolu dikkatle yazmak gerekir.

Siber güvenlik için Linux bilmek gerekli mi?

Evet. Sunucuların büyük kısmı Linux çalıştırır ve log analizi, olay araştırması, güvenlik araçlarının kullanımı gibi işlerin çoğu komut satırında yapılır. grep ile log aramak, izinleri anlamak ve servisleri yönetmek bir güvenlik analisti için temel becerilerdir.

Muhammed Maruf GüveliSiber güvenlik analisti. Python otomasyonu ve siber güvenlik üzerine çalışıyorum; bu tür bir işe ihtiyacın varsa yardımcı olabilirim.
Teklif iste