Linux Komutları ve Anlamları: Siber Güvenlik İçin 100 Komut
Linux komutları, terminalde dosya, kullanıcı, süreç, ağ ve log işlerini yapmak için yazılan kısa talimatlardır. Siber güvenlikte en çok dosya gezinme, arama ve süzme, izin, süreç, ağ ve log komutları kullanılır. Bu yazıda 100 komut, ne yaptığı ve bir örnekle dokuz tabloda gruplandı.
Aşağıda 100 Linux komutunu dokuz gruba ayırdık. Her satırda komutun ne yaptığı ve kısa bir örnek var. Tablolar yazdırmaya uygun; sayfayı tarayıcıdan yazdırıp masanın yanında tutabilirsin. Önce terminalin birkaç temel kuralını görelim, sonra listeye geçelim.
Linux komutları nasıl okunur?
Bir Linux komutu üç parçadan oluşur: komutun adı, seçenekler ve hedef. ls -la /etc örneğinde ls komut, -la seçenek, /etc hedeftir.
- Yardım almak: Her komutun kılavuzu
man komutile açılır. Kısa özet içinkomut --helpyazılır. - Büyük küçük harf: Linux harf duyarlıdır.
Dosya.txtiledosya.txtiki ayrı dosyadır. - Boru (pipe): Bir komutun çıktısını diğerine aktarır. Örneğin
ps auxçıktısınıgrepile süzebilirsin. - Yönlendirme:
>çıktıyı dosyaya yazar ve dosyayı ezer,>>sonuna ekler.2>/dev/nullhata mesajlarını gizler. - sudo: Yönetici yetkisi isteyen komutların başına gelir. Ne yaptığını bilmediğin bir komutu sudo ile çalıştırma.
Kali Linux, Ubuntu ve Debian aynı aileden gelir. Bu yazıdaki komutların neredeyse hepsi üçünde de aynı çalışır. Fark genelde paket yöneticisindedir: Debian ailesi apt, Red Hat ailesi dnf kullanır.
Dosya ve dizin komutları nelerdir?
Dosya ve dizin komutları, dosya sisteminde gezinmek, dosya oluşturmak, taşımak ve silmek için kullanılan temel komutlardır. Linux'ta her şey bir dosya gibi ele alındığı için bu grup her işin başıdır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 1 | pwd | Bulunduğun dizinin tam yolunu yazar | pwd |
| 2 | ls | Dizindeki dosyaları listeler | ls -la |
| 3 | cd | Dizin değiştirir | cd /var/log |
| 4 | mkdir | Yeni dizin oluşturur | mkdir -p proje/notlar |
| 5 | rmdir | Boş dizini siler | rmdir eski |
| 6 | touch | Boş dosya oluşturur ya da zaman damgasını günceller | touch notlar.txt |
| 7 | cp | Dosya ya da dizin kopyalar | cp -r kaynak hedef |
| 8 | mv | Taşır ya da yeniden adlandırır | mv eski.txt yeni.txt |
| 9 | rm | Dosya siler, geri dönüşüm kutusu yoktur | rm dosya.txt |
| 10 | ln | Bağlantı (kısayol) oluşturur | ln -s /hedef kisayol |
| 11 | file | Dosyanın gerçek türünü içeriğe bakarak söyler | file ek.pdf |
| 12 | stat | Boyut, sahiplik ve zaman bilgilerini gösterir | stat rapor.txt |
| 13 | tree | Dizin ağacını çizer | tree -L 2 |
| 14 | du | Dizinlerin disk kullanımını gösterir | du -sh * |
| 15 | df | Disk bölümlerinin doluluk oranını gösterir | df -h |
file komutu güvenlik açısından değerlidir. Uzantısı .pdf olan ama aslında çalıştırılabilir olan bir dosyayı ele verir.
Dosya içeriğini okuma komutları nelerdir?
İçerik okuma komutları, bir dosyayı değiştirmeden ve hızlıca incelemek için kullanılır. Log incelemesinde en çok bu grup kullanılır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 16 | cat | Dosyanın tamamını ekrana basar | cat /etc/os-release |
| 17 | less | Uzun dosyayı sayfa sayfa gösterir, geri gidilebilir | less syslog |
| 18 | more | Dosyayı sayfa sayfa gösterir, daha basittir | more notlar.txt |
| 19 | head | Dosyanın ilk satırlarını gösterir | head -n 20 access.log |
| 20 | tail | Son satırları gösterir, canlı izleyebilir | tail -f auth.log |
| 21 | wc | Satır, kelime ve karakter sayar | wc -l access.log |
| 22 | diff | İki dosyanın farkını gösterir | diff eski.conf yeni.conf |
| 23 | sort | Satırları sıralar | sort -u liste.txt |
| 24 | uniq | Ardışık tekrarları ayıklar ya da sayar | uniq -c |
| 25 | nl | Satırları numaralandırır | nl betik.sh |
sort ve uniq -c birlikte kullanılınca bir logda en sık geçen IP adreslerini saymak kolaylaşır. Bu, SOC analistinin günlük alışkanlığıdır.
Arama ve süzme komutları nelerdir?
Arama ve süzme komutları, binlerce satır ya da binlerce dosya arasından aradığını bulmak için kullanılır. grep ve find bu grubun iki temel taşıdır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 26 | grep | Metinde kalıp arar | grep -i "failed" auth.log |
| 27 | find | Dosyaları ad, boyut, tarih ya da izne göre bulur | find /home -name "*.sh" |
| 28 | locate | Önceden oluşturulmuş dizinden hızlı dosya arar | locate sshd_config |
| 29 | which | Komutun hangi dosyadan çalıştığını gösterir | which python3 |
| 30 | whereis | Komutun ikili dosyası ve kılavuzunun yerini gösterir | whereis ssh |
| 31 | awk | Sütun bazlı metin işler | awk '{print $1}' access.log |
| 32 | sed | Akış üzerinde metin değiştirir | sed 's/eski/yeni/g' dosya |
| 33 | cut | Belirli sütunu ya da alanı keser | cut -d: -f1 /etc/passwd |
| 34 | tr | Karakterleri dönüştürür ya da siler | tr 'a-z' 'A-Z' |
| 35 | xargs | Bir komutun çıktısını diğerine argüman yapar | find çıktısını xargs -0 gzip ile sıkıştırmak |
cut -d: -f1 /etc/passwd sistemdeki kullanıcı adlarını listeler. Bir sunucuda tanımadığın bir hesap görürsen incelemen gereken ilk yer burasıdır.
İzin ve kullanıcı komutları nelerdir?
İzin ve kullanıcı komutları, kimin hangi dosyaya ne yapabileceğini belirler ve hesapları yönetir. Yanlış izin, Linux sunucularda en sık görülen yapılandırma hatalarından biridir.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 36 | chmod | Dosya izinlerini değiştirir | chmod 640 ayar.conf |
| 37 | chown | Dosyanın sahibini değiştirir | chown www-data:www-data site/ |
| 38 | chgrp | Dosyanın grubunu değiştirir | chgrp ekip rapor.txt |
| 39 | umask | Yeni dosyaların varsayılan izin maskesini gösterir | umask |
| 40 | sudo | Komutu yönetici yetkisiyle çalıştırır | sudo apt update |
| 41 | su | Başka kullanıcıya geçer | su - kullanici |
| 42 | id | Kullanıcının UID, GID ve gruplarını gösterir | id |
| 43 | whoami | Etkin kullanıcı adını yazar | whoami |
| 44 | groups | Kullanıcının üye olduğu grupları listeler | groups |
| 45 | useradd | Yeni kullanıcı ekler | useradd -m ali |
| 46 | usermod | Kullanıcıyı değiştirir, gruba ekler | usermod -aG sudo ali |
| 47 | passwd | Parola değiştirir ya da hesabı kilitler | passwd -l eskihesap |
İzin sayılarının (755, 644, 640) ne anlama geldiğini chmod 755 yazımızda ayrıntılı anlattık. Kısa kural: başkalarının yazabildiği bir yapılandırma dosyası risktir. chmod 777 ise neredeyse her zaman yanlış cevaptır.
Süreç ve servis komutları nelerdir?
Süreç ve servis komutları, sistemde neyin çalıştığını görmek, süreç durdurmak ve servisleri yönetmek için kullanılır. Şüpheli bir süreci fark etmek olay müdahalenin ilk adımıdır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 48 | ps | Çalışan süreçleri listeler | ps auxf |
| 49 | top | Süreçleri kaynak kullanımına göre canlı gösterir | top |
| 50 | htop | top'un renkli ve etkileşimli hali (ayrıca kurulur) | htop |
| 51 | kill | Sürece sinyal gönderir, durdurur | kill -15 1234 |
| 52 | pkill | Ada göre süreç durdurur | pkill firefox |
| 53 | jobs | Kabuktaki arka plan işlerini listeler | jobs -l |
| 54 | bg | Duraklatılan işi arka planda sürdürür | bg %1 |
| 55 | fg | Arka plandaki işi öne alır | fg %1 |
| 56 | nohup | Oturum kapansa da komutun çalışmasını sürdürür | nohup ./yedek.sh & |
| 57 | systemctl | Servisleri başlatır, durdurur, durumunu gösterir | systemctl status ssh |
| 58 | journalctl | systemd günlüklerini okur | journalctl -u ssh --since today |
| 59 | lsof | Hangi sürecin hangi dosyayı ya da portu açtığını gösterir | lsof -i :80 |
ps auxf süreçleri ağaç biçiminde gösterir. Bir web sunucusu sürecinin altında beklenmedik bir kabuk görürsen bu ciddi bir uyarı işaretidir.
Ağ komutları nelerdir?
Ağ komutları, makinenin IP adresini, açık portlarını, bağlantılarını ve ad çözümlemesini incelemek için kullanılır. Modern dağıtımlarda eski ifconfig ve netstat yerine ip ve ss kullanılır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 60 | ip | Arayüz, adres ve yönlendirme bilgisini gösterir | ip a |
| 61 | ss | Açık soketleri ve dinleyen portları gösterir | ss -tulpn |
| 62 | netstat | ss'in eski karşılığı, birçok sistemde ayrıca kurulur | netstat -tulpn |
| 63 | ping | Bir hedefe ulaşılabildiğini ICMP ile sınar | ping -c 4 1.1.1.1 |
| 64 | traceroute | Paketin geçtiği yönlendiricileri gösterir | traceroute example.com |
| 65 | dig | DNS kayıtlarını ayrıntılı sorgular | dig example.com MX |
| 66 | nslookup | Basit DNS sorgusu yapar | nslookup example.com |
| 67 | host | Kısa DNS sorgusu yapar | host example.com |
| 68 | curl | HTTP isteği gönderir, yanıtı gösterir | curl -I https://example.com |
| 69 | wget | Dosya indirir | wget https://example.com/dosya |
| 70 | ssh | Uzak makineye şifreli bağlanır | ssh kullanici@sunucu |
| 71 | scp | SSH üzerinden dosya kopyalar | scp rapor.txt sunucu:/tmp |
| 72 | rsync | Dosyaları farklarına bakarak eşitler | rsync -av kaynak/ hedef/ |
| 73 | tcpdump | Ağ paketlerini yakalar ve gösterir | sudo tcpdump -i eth0 port 53 |
ss -tulpn bir sunucuda hangi servislerin dışarıyı dinlediğini tek satırda gösterir. Beklemediğin bir port gördüysen hangi sürece ait olduğunu aynı çıktıdan okursun.
Paket ve sistem bilgisi komutları nelerdir?
Paket ve sistem komutları, yazılım kurmak, güncellemek ve makinenin donanım ve çekirdek bilgisini görmek için kullanılır. Güncel olmayan paket, bilinen açıkların en yaygın kaynağıdır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 74 | apt | Debian, Ubuntu ve Kali'de paket kurar ve günceller | sudo apt update && sudo apt upgrade |
| 75 | dpkg | Debian paketlerini düşük seviyede yönetir | dpkg -l openssh-server |
| 76 | dnf | Fedora ve RHEL ailesinde paket yöneticisi | sudo dnf upgrade |
| 77 | rpm | RHEL ailesinde paket sorgular | rpm -qa |
| 78 | uname | Çekirdek ve sistem bilgisini gösterir | uname -a |
| 79 | hostname | Makinenin adını gösterir ya da değiştirir | hostname |
| 80 | uptime | Sistemin ne kadar süredir açık olduğunu gösterir | uptime |
| 81 | free | Bellek kullanımını gösterir | free -h |
| 82 | lsblk | Diskleri ve bölümleri ağaç halinde listeler | lsblk |
| 83 | mount | Bağlı dosya sistemlerini gösterir ya da bağlar | mount |
Arşiv, sıkıştırma ve özet komutları nelerdir?
Arşiv ve özet komutları, dosyaları paketlemek, sıkıştırmak ve bir dosyanın değişip değişmediğini parmak iziyle doğrulamak için kullanılır. Adli bilişimde delil bütünlüğü bu komutlarla kanıtlanır.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 84 | tar | Dosyaları tek arşivde toplar | tar -czf yedek.tar.gz klasor/ |
| 85 | gzip | Dosyayı sıkıştırır | gzip buyuk.log |
| 86 | gunzip | gzip dosyasını açar | gunzip buyuk.log.gz |
| 87 | zip | Zip arşivi oluşturur | zip -r arsiv.zip klasor |
| 88 | unzip | Zip arşivini açar | unzip arsiv.zip |
| 89 | sha256sum | SHA-256 özetini hesaplar | sha256sum imaj.dd |
| 90 | md5sum | MD5 özetini hesaplar, artık güvenlik için önerilmez | md5sum dosya |
| 91 | base64 | Veriyi Base64 ile kodlar ya da çözer, şifreleme değildir | base64 -d kodlu.txt |
| 92 | xxd | Dosyanın onaltılık dökümünü gösterir | xxd ek.bin |
Log ve güvenlik denetimi komutları nelerdir?
Log ve denetim komutları, kimin ne zaman oturum açtığını, hangi komutların çalıştığını ve zamanlanmış görevleri gösterir. Mavi takımın ilk bakış listesi bu gruptan çıkar.
| No | Komut | Ne yapar | Örnek |
|---|---|---|---|
| 93 | last | Son oturum açma kayıtlarını gösterir | last -a |
| 94 | lastb | Başarısız oturum denemelerini gösterir (root ister) | sudo lastb |
| 95 | w | Şu an kimin bağlı olduğunu ve ne yaptığını gösterir | w |
| 96 | who | Bağlı kullanıcıları listeler | who |
| 97 | history | Kabukta çalışan son komutları gösterir | history 50 |
| 98 | dmesg | Çekirdek mesajlarını gösterir | dmesg -T |
| 99 | crontab | Zamanlanmış görevleri listeler ya da düzenler | crontab -l |
| 100 | ufw | Ubuntu'da güvenlik duvarını yönetir | sudo ufw status verbose |
Bir sunucuda ilk 10 dakikada hangi komutlar çalıştırılır?
Şüpheli bir Linux sunucusuna bakan analist önce kimin bağlı olduğunu, neyin çalıştığını, neyin dinlediğini ve neyin zamanlandığını kontrol eder. Bu sıra delili bozmadan hızlı bir resim çıkarır.
wvelast -aile bağlı kullanıcılara ve son girişlere bak.ps auxfile süreç ağacını incele; web sunucusu altında kabuk var mı?ss -tulpnile dinleyen portları ve sahibi olan süreçleri gör.crontab -lve /etc/cron.* dizinleriyle zamanlanmış görevleri kontrol et.find / -mtime -1 -type f 2>/dev/nullile son 24 saatte değişen dosyaları listele.journalctl --since "2 hours ago"ya da auth.log ile son kimlik doğrulama kayıtlarını oku.- Bulduğun her şeyi zamanıyla not al; şüpheli dosyanın
sha256sumözetini kaydet.
Bu liste bir kontrol listesidir, tam bir adli inceleme değildir. Delil toplaman gerekiyorsa önce kurumunun olay müdahale prosedürüne uy. Ayrıca bu komutları yalnız kendi sistemlerinde ya da yetkili olduğun ortamda kullan.
En tehlikeli Linux komutları hangileri?
Yeni başlayanların en çok zarar gördüğü komutlar silme ve izin komutlarıdır. rm -rf geri alınamaz; özellikle sonunda boşluk ya da yanlış değişken varsa tüm dizini siler. chmod -R 777 bir dizindeki her dosyayı herkese yazılabilir yapar. İnternetten kopyaladığın ve doğrudan kabuğa aktarılan betikleri de okumadan çalıştırma.
Linux komutlarını nasıl kalıcı öğrenirsin?
Linux komutlarını kalıcı öğrenmenin yolu, listeyi ezberlemek değil, her gün küçük bir görevi terminalden yapmaktır. Bir hafta boyunca dosya yöneticisi yerine yalnız terminal kullanmak bile çok şey öğretir.
AltaySec Akademi'nin Temeller yolundaki Linux ve Komut Satırı modülü dosya sisteminde gezinmeyi, arama ve süzmeyi, izinleri ve süreç ile logları sırayla öğretir. Modülün sonundaki Kabukta İlk Adım laboratuvarında bu komutları tarayıcıdan, gerçek bir kabukta denersin. En sık kullanılan komutları tek sayfada görmek için akademinin kopya kâğıtları sayfasındaki Linux kâğıdını da yazdırabilirsin. Daha kısa bir başlangıç listesi istersen 20 temel Linux komutu yazımız iyi bir giriş.
Sıradaki adım: Kabukta İlk Adım laboratuvarını aç ve yukarıdaki ilk 10 dakika listesini orada dene.
Kaynaklar
Sık sorulan sorular
Linux komutları PDF olarak var mı?
Bu yazı için ayrı bir PDF dosyası yok. Ama tablolar yazdırmaya uygun hazırlandı; tarayıcının yazdır menüsünden sayfayı kâğıda ya da PDF'e aktarabilirsin. AltaySec Akademi'nin kopya kâğıtları sayfasındaki Linux kâğıdı da tek sayfalık, yazdırılabilir bir özet olarak en sık kullanılan komutları toplar.
Kali Linux komutları Ubuntu komutlarından farklı mı?
Temel komutlar aynıdır, çünkü Kali Linux Debian tabanlıdır ve Ubuntu da aynı aileden gelir. ls, grep, chmod, ss gibi komutlar ikisinde de aynı çalışır. Kali'nin farkı, güvenlik testi araçlarının hazır kurulu gelmesidir. Paket yöneticisi ikisinde de apt olduğu için kurulum komutları da benzerdir.
Linux terminal komutlarını ezberlemek gerekir mi?
Gerekmez. Sık kullandığın yirmi otuz komut zamanla kendiliğinden ezberlenir. Gerisini ihtiyaç anında man ya da --help ile açarsın. Önemli olan, bir işi hangi komut ailesinin yaptığını bilmektir. Örneğin metin aramak için grep, dosya bulmak için find, port görmek için ss kullanıldığını bilmek yeterli bir başlangıçtır.
sudo ile su arasındaki fark nedir?
sudo tek bir komutu yönetici yetkisiyle çalıştırır ve işlem kendi kullanıcı adınla kayda geçer. su ise oturumu başka bir kullanıcıya, çoğunlukla root'a geçirir ve sen çıkana kadar o kullanıcı olarak kalırsın. Günlük işte sudo daha güvenlidir, çünkü yetkiyi yalnız gerektiği an kullanırsın.
rm ile silinen dosya geri gelir mi?
Linux terminalinde rm ile silinen dosya geri dönüşüm kutusuna gitmez. Disk üzerindeki veri hemen silinmese de sıradan yollarla geri getirmek zordur ve garanti değildir. Bu yüzden önemli dizinlerde rm -i ile onay isteyerek çalışmak ve düzenli yedek almak en güvenli alışkanlıktır.
- linux komutları ve anlamları
- terminal komutları
- kali linux komutları
- linux temelleri
- yeni başlayanlar