Pardus Linux’ta Yönlendirme (Redirection) Kullanımı
Linux sistemlerinde komut satırı kullanımının en güçlü özelliklerinden biri yönlendirme (redirection) yapısıdır.
Pardus Linux’ta terminal kullanırken komutların çıktısını:
Dosyaya kaydedebilir,
Başka komutlara aktarabilir,
Hata mesajlarını ayrı yönlendirebilir,
Çıktıları birleştirebilir,
Log sistemleri oluşturabilirsiniz.
Bu yapı özellikle:
Sistem yönetimi,
Siber güvenlik,
Bash scripting,
Log analizi,
Yazılım geliştirme
alanlarında çok önemlidir.
Linux’ta Standart Akışlar (Standard Streams)
Linux’ta her çalışan programın 3 temel veri akışı vardır:
| Akış | Numara | Açıklama |
|---|---|---|
| stdin | 0 | Klavyeden gelen giriş |
| stdout | 1 | Normal çıktı |
| stderr | 2 | Hata çıktıları |
Örnek:
ls
Komut çıktısı stdout üzerinden ekrana gelir.
> Operatörü — Çıktıyı Dosyaya Yazma
Bir komutun çıktısını dosyaya yönlendirir.
Kullanım
komut > dosya
Örnek
ls > liste.txt
Bulunduğunuz dizindeki dosya listesini liste.txt içine yazar.
Dikkat!
Eğer dosya varsa içerik tamamen silinir.
Örnek:
echo "Merhaba" > test.txt
Sonra:
echo "Yeni Veri" > test.txt
Dosya içeriği:
Yeni Veri
Eski veri silinmiştir.
>> Operatörü — Dosyanın Sonuna Ekleme
Dosya silinmeden sonuna veri ekler.
Kullanım
komut >> dosya
Örnek
date >> log.txt
Her çalıştırıldığında tarih bilgisini dosyanın sonuna ekler.
< Operatörü — Dosyadan Girdi Alma
Bir dosyayı komuta giriş olarak verir.
Kullanım
komut < dosya
Örnek
sort < isimler.txt
Dosya içeriğini sıralar.
Pipe (|) ile Yönlendirme
Bir komutun çıktısını başka komuta aktarır.
Kullanım
komut1 | komut2
Örnek 1
ls | less
Uzun çıktıları sayfa sayfa gösterir.
Örnek 2
ps aux | grep firefox
Çalışan Firefox işlemlerini filtreler.
Örnek 3
cat access.log | grep 404
404 hatalarını bulur.
tee Komutu — Hem Ekrana Hem Dosyaya Yazma
Çıktıyı aynı anda ekrana gösterir ve dosyaya kaydeder.
Kullanım
komut | tee dosya
Örnek
df -h | tee disk.txt
Dosyanın Sonuna Ekleme
komut | tee -a dosya
Hata Çıktısını Yönlendirme (stderr)
Linux’ta hata mesajları stderr üzerinden gelir.
2> Kullanımı
komut 2> hata.txt
Örnek
ls olmayan_dosya 2> hata.txt
Hata mesajı dosyaya yazılır.
Normal Çıktı ve Hata Çıktısını Ayırma
komut > normal.txt 2> hata.txt
Örnek
find / -name test
Bu komut yetkisiz dizinlerde hata verebilir.
Çözüm:
find / -name test > bulunanlar.txt 2> hatalar.txt
Tüm Çıktıları Tek Dosyada Birleştirme
Kullanım
komut > dosya 2>&1
Örnek
find / -name passwd > sonuc.txt 2>&1
Hem normal çıktı hem hata aynı dosyada olur.
Şimdi örneği adım adım inceleyelim:
find / -name passwd > sonuc.txt 2>&1
1. find / -name passwd (Arama Komutu)
Bu kısım asıl işi yapan komuttur.
find: Arama komutudur./: Aramanın en üst dizinden (root - kök dizin) başlayıp tüm bilgisayarda yapılacağını belirtir.-name passwd: İsmi tam olarakpasswdolan dosyaları veya klasörleri aramasını söyler.
Neden bu komut seçilmiş? Çünkü / dizininde arama yaptığınızda, sistemdeki birçok klasöre girmeye yetkiniz (eğer root kullanıcısı değilseniz) olmayacaktır. Bu yüzden ekrana bir sürü "Permission denied" (Erişim engellendi) hatası dökülür. Yani bu komut hem normal çıktılar (1) hem de bolca hata çıktısı (2) üretir.
2. > sonuc.txt (Normal Çıktıyı Yönlendirme)
>işareti, solundaki komutun "Standart Çıktısını (1 - stdout)" alır ve sağındaki dosyaya (sonuc.txt) yazar.Aslında bu yazım
1> sonuc.txtkomutunun kısaltılmış halidir.Eğer komutu sadece
find / -name passwd > sonuc.txtşeklinde yazsaydık; bulunan başarılı sonuçlar dosyaya yazılırken, hatalar ("Erişim engellendi" mesajları) hala ekrana dökülmeye devam edecekti. Çünkü>işareti sadece normal çıktıları (1) dosyaya gönderir, hataları (2) göndermez.
3. 2>&1 (Hataları Normal Çıktıya Yönlendirme)
Bu kısım işin sihirli bölümüdür:
2: Standart Hata'yı (stderr) temsil eder.>: Yönlendirme işaretidir.&1: Standart Çıktı'nın (stdout) şu anda işaret ettiği yeri (hedefi) temsil eder.&işareti,1'in bir dosya adı değil, bir dosya tanımlayıcı (file descriptor) olduğunu belirtir.
Özetle 2>&1 şu anlama gelir: "2 numaralı hata akışını al ve 1 numaralı normal akış şu an nereye gidiyorsa sen de oraya git."
Tüm Parçaları Birleştirirsek:
Komut çalıştığında şunlar olur:
İşletim sistemi önce
> sonuc.txtkısmını görür ve Normal Çıktı'nın (1) yönünüsonuc.txtdosyası olarak ayarlar.Ardından
2>&1kısmını görür ve Hata Çıktısı'nın (2) yönünü, "1 numara nereye gidiyorsa orası" olarak ayarlar (Yani o dasonuc.txtdosyasına yönlendirilir).Komut çalışır. Bulduğu
passwddosyalarının yollarını da, giremediği klasörlerin hata mesajlarını da ekrana yazdırmak yerinesonuc.txtdosyasına kaydeder. Ekranda hiçbir şey görmezsiniz, süreç arka planda temiz bir şekilde işler.
/dev/null Kullanımı
Linux’un “çöp kutusu” gibi davranan özel aygıtıdır.
Çıktıyı Yok Etme
komut > /dev/null
Hataları Gizleme
komut 2> /dev/null
Her Şeyi Gizleme
komut > /dev/null 2>&1
Here Document (<<) Kullanımı
Birden fazla satırı komuta giriş olarak verir.
Örnek
cat << SON
Merhaba
Pardus Linux
Yönlendirme Eğitimi
SON
Çıktı:
Merhaba
Pardus Linux
Yönlendirme Eğitimi
"Here Document" (Burada-Belgesi), Linux ve Unix kabuklarında (bash, sh, zsh vb.) bir komuta çok satırlı bir metin bloğunu tek seferde ve geçici bir dosyaya ihtiyaç duymadan standart girdi (stdin) olarak göndermek için kullanılan çok güçlü bir yöntemdir.
Bir önceki sorundaki <<< (Here-String) operatörü tek bir satırı komuta gönderirken, << (Here Document) operatörü sayfalarca sürebilen metin bloklarını komuta göndermenizi sağlar.
Verdiğin örneği parça parça inceleyelim:
1. cat (Hedef Komut)
Normalde cat komutu bir dosyanın içeriğini okuyup ekrana basmak için kullanılır. Ancak burada bir dosya adı verilmemiştir. Dosya adı verilmediğinde cat, kendisine "Standart Girdi" (stdin) üzerinden ne gelirse onu aynen ekrana yansıtır. Burada hedef komut cat olmak zorunda değildir; grep, awk, sed veya ftp gibi girdi bekleyen herhangi bir komut olabilir.
2. << (Here Document Operatörü)
Bu işaret, kabuğa (shell) şu mesajı verir: "Birazdan sana çok satırlı bir metin gireceğim. Benim belirteceğim bitiş kelimesini görene kadar yazdığım her şeyi al ve sol taraftaki komuta (cat) girdi olarak ver."
3. SON (Sınırlandırıcı / Delimiter)
<< işaretinden hemen sonra yazılan kelime sınırlandırıcı kelimedir.
Bu kelimenin ne olduğunun hiçbir önemi yoktur. SON, BITTI, EOF (End of File - en yaygın olanı), veya ELMA bile yazabilirsiniz.
Tek görevi metnin nerede başlayıp nerede bittiğini kabuğa bildirmektir.
4. Metin Bloğu (Gövde)
Merhaba
Pardus Linux
Yönlendirme Eğitimi
Bu kısım komuta gönderilecek asıl veridir. Satır atlamaları, boşluklar, sekmeler (tab) aynen korunur.
5. SON (Bitiş İşareti)
Kabuk, satırları okurken satırın en başında sadece sınırlandırıcı kelimeyi (bizim örneğimizde SON) gördüğü an metin girişinin bittiğini anlar.
Önemli Kural: Kapanış kelimesi satırda tek başına olmalıdır. Önünde veya arkasında boşluk olmamalıdır, aksi takdirde kabuk bunu bitiş olarak algılamaz ve okumaya devam eder.
Sistem Arka Planda Nasıl Çalışır?
Terminalde cat << SON yazıp Enter'a bastığınızda komut hemen çalışmaz. Kabuk sizi bir alt satıra geçirir ve veri girmenizi bekler.
Siz satırları yazıp Enter'a bastıkça kabuk bunları geçici belleğinde (veya geçici bir dosyada) biriktirir.
Ne zaman ki yeni bir satıra geçip sadece SON yazıp Enter'a basarsanız, kabuk biriktirdiği tüm metin bloğunu alır ve tek bir paket halinde cat komutunun içine atar.
cat komutu da aldığı bu metni standart çıktısına (ekrana) yazdırır.
Bu Yapı Neden ve Nerede Kullanılır?
Örnekteki haliyle sadece ekrana yazı yazdırmış olduk (bunu echo ile de yapabilirdik). Ancak Here Document'ın asıl gücü betik (script) yazımında ortaya çıkar.
1. Çok Satırlı Dosyalar Oluşturmak:
Metin bloğunu sadece ekrana yazdırmak yerine doğrudan bir dosyaya yönlendirebilirsiniz. Bu, otomatik kurulum betiklerinde ayar (config) dosyaları oluşturmak için çok sık kullanılır:
Bash:cat << EOF > ayarlar.conf
KULLANICI=admin
PORT=8080
SISTEM=Pardus
EOF
Bu komut, içindeki 3 satırı alıp ayarlar.conf adında bir dosya oluşturur ve içine yazar.
2. Etkileşimli Komutları Otomatikleştirmek:
Bağlantı sağlandıktan sonra komut girmek gereken ftp, ssh veya veritabanı (örneğin mysql) araçlarına dışarıdan otomatik komut listesi göndermek için kullanılır:
Bash:mysql -u root -pParola << SQL_BITIS
CREATE DATABASE yeniveritabani;
USE yeniveritabani;
SHOW TABLES;
SQL_BITIS
Here String (<<<) Kullanımı
Tek satırlık veriyi komuta verir.
Örnek
grep Linux <<< "Pardus Linux işletim sistemi"
Bu komut, Bash kabuğunda (shell) bir metin dizgesi (string) içinde belirli bir kelimeyi aramak için kullanılan oldukça pratik ve performanslı bir yöntemdir.
Komutun temel amacı şudur: "Pardus Linux işletim sistemi" cümlesinin içinde "Linux" kelimesi geçiyor mu diye kontrol et ve geçiyorsa o cümleyi ekrana yazdır.
Bu yapıyı anlayabilmek için komutu üç ana parçaya bölebiliriz:
1. grep Linux (Arama Komutu)
grep (Global Regular Expression Print), Linux'ta metin filtreleme ve arama işlemlerinin temel aracıdır.
Burada grep komutuna, aranacak hedefin "Linux" kelimesi olduğu belirtilmiştir. grep varsayılan olarak büyük/küçük harf duyarlıdır (yani "linux" veya "LINUX" yazsaydınız bu cümlede eşleşme bulamazdı).
2. <<< (Here-String / Buradan-Dizge Yönlendirmesi)
Bu işaret, komutun en can alıcı noktasıdır ve Bash kabuğuna özgü bir yönlendirme (redirection) operatörüdür. Adı "Here-String" olarak geçer.
Normal şartlarda grep komutu ya bir dosyanın içinde arama yapar (örn: grep Linux dosya.txt) ya da başka bir komuttan gelen veriyi işler.
<<< operatörü ise, hemen sağında bulunan metin dizgesini alır ve solundaki komutun Standart Girdisine (stdin) sanki bir dosya içeriğiymiş gibi doğrudan besler.
Yani geçici bir metin belgesi oluşturmaya gerek kalmadan, elinizdeki bir cümleyi anında komuta yedirmiş olursunuz.
3. "Pardus Linux işletim sistemi" (Kaynak Metin)
İçinde arama yapılacak olan asıl veridir. Kelimeler arasında boşluk olduğu için çift tırnak ("") içine alınmıştır. Eğer tırnak kullanılmasaydı, Bash boşlukları komut ayracı olarak kabul edip hata verecekti.
Komut Çalıştığında Ne Olur?
Komutu terminalde çalıştırdığınızda, grep cümleyi alır ve içinde "Linux" kelimesini bulduğu için tüm satırı ekrana yazdırır. Modern Linux terminallerinde eşleşen kelime genellikle vurgulanır.
Ekran Çıktısı:
Pardus Linux işletim sistemi (Linux kelimesi kırmızı veya belirgin bir renkte olur)
Pipe (|) Yerine Neden <<< Kullanılır?
Aynı işlemi yapmanın daha eski ve çok bilinen yolu "Pipe" (Boru) operatörü ve echo komutunu birlikte kullanmaktır:
echo "Pardus Linux işletim sistemi" | grep Linux
Bu komut da birebir aynı çıktıyı verir ancak <<< (Here-String) kullanımının önemli bir avantajı vardır:
echo ... | grep ... komutunu çalıştırdığınızda aradaki | (pipe) işareti, işletim sisteminin arka planda fazladan bir alt kabuk (subshell/process) başlatmasına neden olur.
<<< operatöründe ise yeni bir işlem (process) oluşturulmaz; veri, kabuğun kendi hafızasından doğrudan komuta aktarılır. Bu da özellikle sistem yönetimi ve otomasyon için yazdığınız betiklerde (script) komutun daha hızlı ve daha az kaynak tüketerek çalışmasını sağlar.
Gelişmiş Pipe Kullanımları
Ağ Bağlantılarını Filtreleme
ss -tulnp | grep 80
Port 80 kullanan servisleri listeler.
Disk Kullanım Analizi
du -sh * | sort -h
Log Analizi
journalctl | grep error
Bash Script İçinde Yönlendirme
Örnek Script
#!/bin/bash
echo "Sistem Kontrolü Başladı" >> sistem.log
df -h >> sistem.log
free -m >> sistem.log
Cron ile Loglama
Örnek
0 * * * * /home/kullanici/yedek.sh >> /home/kullanici/yedek.log 2>&1
Her saat çalışan scriptin çıktıları log dosyasına kaydedilir.
Siber Güvenlik ve Sistem Yönetiminde Kullanımı
Yönlendirme yapıları şu alanlarda yoğun kullanılır:
| Alan | Kullanım |
|---|---|
| Pentest | Sonuç kaydetme |
| OSINT | Veri filtreleme |
| Log analizi | Hata ayıklama |
| Sistem yönetimi | Otomasyon |
| DevOps | Pipeline işlemleri |
En Çok Kullanılan Yönlendirme Operatörleri Özeti
| Operatör | Açıklama |
|---|---|
> | Dosyayı sıfırdan yaz |
>> | Dosyanın sonuna ekle |
< | Dosyadan oku |
| ` | ` |
2> | Hata çıktısı |
2>> | Hata ekleme |
2>&1 | stdout + stderr birleştirme |
/dev/null | Çıktıyı yok etme |
tee | Hem göster hem kaydet |
<< | Here document |
<<< | Here string |
Gerçek Hayat Senaryoları
1. Hataları Gizleyerek Arama
find / -name "*.conf" 2> /dev/null
2. Çalışan Servisleri Kaydetme
systemctl list-units --type=service > servisler.txt
3. Ağ Trafiğini Filtreleme
tcpdump -i eth0 | grep HTTP
4. Log İçinden IP Çekme
cat access.log | grep 404 | awk '{print $1}'
Performans ve Güvenlik İpuçları
Gereksiz cat Kullanımından Kaçının
Yanlış:
cat dosya.txt | grep hata
Doğru:
grep hata dosya.txt
Yetkisiz İşlemlerde Hataları Saklayın
find / 2> /dev/null
Büyük Loglarda less Kullanın
journalctl | less
Sonuç
Pardus Linux’ta yönlendirme yapıları terminal kullanımının temel taşlarından biridir.
Bu operatörler sayesinde:
Komut çıktıları yönetilebilir,
Log sistemleri oluşturulabilir,
Otomasyon yapılabilir,
Büyük veri akışları filtrelenebilir,
Güçlü Bash scriptleri yazılabilir.
Linux uzmanlığı için yönlendirme konularını iyi öğrenmek büyük avantaj sağlar.
Pratik Çalışma Önerileri
Aşağıdaki komutları deneyin:
ls -la > liste.txt
df -h | tee disk.txt
find / -name "*.log" 2> hatalar.txt
journalctl | grep failed
ps aux | grep ssh
Pardus Linux'ta Yönlendirme
Pardus Linux, Debian tabanlı, güvenilir ve güçlü bir işletim sistemidir. Pardus'ta (ve genel olarak Linux dünyasında) terminalin gerçek gücü, küçük ve tek bir işi iyi yapan komutları birleştirerek karmaşık görevleri otomatize edebilmekten gelir. Bu gücün temelinde ise "Yönlendirme" (Redirection) kavramı yatar.
1. Giriş/Çıkış (I/O) Yönlendirmesi
Linux'ta her şey bir dosyadır; klavyeniz, ekranınız ve çalıştırdığınız programların ürettiği çıktılar bile. Terminalde çalışan her komut varsayılan olarak üç temel veri akışı (stream) kullanır:
| İsim | Açıklama | Dosya Tanımlayıcı (FD) | Varsayılan Yeri |
| Standart Girdi (stdin) | Komutun okuyacağı veriler. | 0 | Klavye |
| Standart Çıktı (stdout) | Komutun ürettiği normal sonuçlar. | 1 | Terminal Ekranı |
| Standart Hata (stderr) | Komutun ürettiği hata mesajları. | 2 | Terminal Ekranı |
Çıktı Yönlendirme (> ve >>)
Bir komutun sonucunu ekranda görmek yerine bir dosyaya kaydetmek istiyorsanız büyüktür işaretini kullanırsınız.
>(Üzerine Yazma): Dosya yoksa oluşturur, varsa içindekileri silip baştan yazar.Bash:ls -l > dizin_icerigi.txt(Bu komut, bulunduğunuz dizindeki dosyaların listesini
dizin_icerigi.txtadlı dosyaya kaydeder.)>>(Sonuna Ekleme): Dosya yoksa oluşturur, varsa içindeki mevcut veriyi silmeden yeni veriyi dosyanın en sonuna ekler.
echo "Pardus çok kararlı bir sistem." >> notlarim.txt
### Hata Yönlendirme (`2>` ve `&>`)
Bazen bir komut hem başarılı çıktılar hem de hata mesajları üretir. Hataları ayırmak için dosya tanımlayıcı numaralarını kullanırız.
* **Sadece hataları kaydetmek:**
find / -name "belge.pdf" 2> hatalar.log
*(Erişim izninizin olmadığı dizinlerin verdiği "Permission denied" hataları `hatalar.log` dosyasına yazılır, bulduğu dosyalar ise ekranda görünür.)*
* **Hem normal çıktıyı hem de hataları aynı dosyaya kaydetmek:**
Bunun için `&>` veya `> dosya 2>&1` yapısını kullanabilirsiniz.
sudo apt update &> guncelleme_raporu.txt
### Girdi Yönlendirme (`<`)
Bir komutun klavyeden veri beklemesi yerine, o veriyi bir dosyadan okumasını sağlar.
sort < isimler.txt
(Klavyeden isim girmek yerine, isimler.txt içindeki verileri alır ve alfabetik sıraya dizer.)
2. Boru Hatları (Pipes - |)
Yönlendirme sadece dosyalara yapılmaz. Bir komutun çıktısını, doğrudan bir başka komutun girdisi yapmak için Boru (Pipe - |) işareti kullanılır. Pardus terminalindeki en güçlü araçlardan biridir.
Örnek Kullanımlar:
Uzun bir listeyi sayfa sayfa okumak:
Bash:ls -la /etc | lessBir çıktı içinde belirli bir kelimeyi aramak (
grep):Bash:dmesg | grep "usb"(Sistem logları içinde sadece "usb" geçen satırları gösterir.)
Zincirleme Komutlar (Birden fazla pipe):
Bash:cat isimler.txt | sort | uniq(isimler.txt'yi okur, sıralar ve tekrar eden isimleri teke düşürür.)
🔐 Linux Yönlendirme Komutlarının Siber Güvenlikteki Yeri ve Önemi
Linux’ta yönlendirme (redirection) ve pipe (|) komutlarının siber güvenlikteki yeri oldukça kritiktir. Çünkü bu komutlar doğrudan veri akışını kontrol etme, log analiz etme, saldırı izlerini yakalama ve sistem izleme süreçlerinin temelini oluşturur.
Aşağıda bu konuyu siber güvenlik perspektifiyle detaylı şekilde inceleyelim
1. Log Analizinin Temelidir
Siber güvenlikte en önemli şeylerden biri log (kayıt) analizidir.
Saldırıların çoğu sistem loglarında iz bırakır:
Başarısız giriş denemeleri
Yetkisiz erişimler
Port taramaları
Servis hataları
Örnek:
cat /var/log/auth.log | grep "Failed password"
👉 Bu komut:
Başarısız SSH girişlerini filtreler
Brute-force saldırılarını tespit etmeye yardımcı olur
2. Saldırı Tespiti (Intrusion Detection)
Pipe ve yönlendirme ile sistem davranışı analiz edilir.
Örnek:
journalctl | grep "error"
👉 Sistem hataları izlenerek:
Zararlı yazılım davranışları
Servis çökme anormallikleri
Sistem manipülasyonları tespit edilebilir
3. Adli Bilişim (Digital Forensics) İçin Kritik Öneme Sahiptir
Bir saldırı sonrası inceleme yapılırken:
Loglar filtrelenir
Zaman damgaları çıkarılır
Şüpheli IP adresleri bulunur
Örnek:
cat access.log | awk '{print $1}' | sort | uniq -c | sort -nr
👉 Bu komut:
En çok erişim yapan IP’leri listeler
Saldırgan IP’lerin tespitine yardımcı olur
4. Zararlı Trafiğin Filtrelenmesi
Ağ trafiği analizinde yönlendirme kullanılır.
Örnek:
tcpdump -i eth0 | grep "malicious"
👉 Gerçek zamanlı trafik içinde şüpheli paketler filtrelenir.
5. Sistem Güvenlik İzleme (Real-Time Monitoring)
Yönlendirme ile sistem sürekli izlenebilir:
tail -f /var/log/syslog | grep "sudo"
👉 Ne sağlar:
Kim yönetici yetkisi aldı?
Yetkisiz sudo kullanımı var mı?
6. Saldırı Gizleme ve Temizlik Analizi
Siber güvenlikte /dev/null çok önemli bir araçtır.
Örnek:
find / -name "*.conf" 2> /dev/null
👉 Ne işe yarar:
Hata mesajlarını gizler
Gürültüyü azaltarak sadece gerçek sonuçlara odaklanmayı sağlar
⚠️ Aynı zamanda saldırganlar da izlerini gizlemek için /dev/null kullanabilir.
7. SIEM ve SOC Sistemlerinin Temeli
Kurumsal güvenlik sistemleri (SIEM/SOC):
Log toplar
Filtreler
Korelasyon yapar
Bunların arka planında Linux yönlendirme mantığı vardır:
cat logs | grep attack | sort | uniq
8. Zararlı Yazılım Analizi (Malware Analysis)
Şüpheli dosyalar incelenirken:
strings malware.bin | grep "http"
👉 Malware’in bağlandığı sunucular bulunabilir.
9. Brute Force Saldırılarını Tespit Etme
cat auth.log | grep "Failed password" | wc -l
👉 Çok fazla başarısız giriş:
Brute-force saldırı göstergesidir
10. Otomatik Güvenlik Script’lerinin Temeli
Siber güvenlikte otomasyon çok önemlidir.
Örnek script:
#!/bin/bash
echo "Sistem Güvenlik Kontrolü" >> report.txt
cat /var/log/auth.log | grep "Failed" >> report.txt
netstat -tulnp >> report.txt
👉 Bu script:
Sistem durumunu analiz eder
Güvenlik raporu oluşturur
Neden Bu Komutlar Bu Kadar Önemli?
Linux yönlendirme ve pipe sistemleri:
✔ Veriyi hızlı işler
✔ Filtreleme sağlar
✔ Otomasyon kurar
✔ Büyük logları analiz eder
✔ Saldırı izlerini ortaya çıkarır
🔥 Siber Güvenlik Açısından Kritik Nokta
Yönlendirme komutları olmadan:
Log analizi çok zor olur
Saldırılar fark edilmez
Otomasyon yapılamaz
Adli inceleme yavaşlar
🧩 Sonuç
Pardus Linux ve genel Linux sistemlerinde yönlendirme komutları, siber güvenliğin görünmeyen omurgasıdır.
Özellikle:
Log analizi
Saldırı tespiti
Sistem izleme
Adli bilişim
Malware analizi
alanlarında vazgeçilmezdir.
Linux'taki yönlendirme operatörleri (>, >>, 2>, <) ve boru hatları (|) ilk bakışta sadece basit sistem yönetimi araçları gibi görünse de, aslında Siber Güvenlik uzmanlarının, beyaz şapkalı hackerların (CEH) ve sistem yöneticilerinin İsviçre çakısıdır.
Bu komutların siber güvenlikteki yeri ve önemi birkaç temel alana ayrılır:
1. Log Analizi ve Tehdit Avcılığı (Threat Hunting)
Siber saldırıların tespiti genellikle devasa boyutlardaki log (kayıt) dosyalarının incelenmesiyle başlar. Güvenlik analistleri (SOC analistleri), milyonlarca satırlık veriyi hızlıca süzmek için yönlendirme ve boru hatlarını kullanır.
Örnek Senaryo: Bir sunucuya yapılan Brute-Force (Kaba Kuvvet) saldırısını tespit etmek.
Bash:cat /var/log/auth.log | grep "Failed password" | awk '{print $11}' | sort | uniq -c | sort -nr | head -n 5Bu boru hattı (
|) zinciri sırasıyla: Log dosyasını okur, sadece başarısız girişleri süzer, saldıran IP adreslerini ayıklar, bunları sayar, en çok saldıranlardan en aza doğru sıralar ve en tehlikeli ilk 5 IP'yi ekrana basar.
2. Sızma Testleri ve Bilgi Toplama (Reconnaissance)
Sızma testlerinde (Penetration Testing) amaç, sistemin zafiyetlerini bulmaktır. Bu süreçte onlarca farklı araç kullanılır ve bir aracın çıktısı, genellikle diğerinin girdisi olmak zorundadır.
Çıktıların Belgelenmesi: Tarama sonuçlarının raporlanması için kaydedilmesi şarttır.
Bash:nmap -sV -p- 192.168.1.50 > nmap_port_raporu.txtOtomasyon ve Zincirleme: Alt alan adlarını (subdomain) bulup, doğrudan açık port taramasına sokmak.
subfinder -d sirket.com | httpx -silent > calisan_siteler.txt
### 3. İz Gizleme ve Temiz Çalışma (Red Teaming)
Sisteme sızmış bir saldırgan veya sistemin dayanıklılığını test eden bir "Kırmızı Takım" (Red Team) üyesi, arkasında gereksiz iz veya terminal ekranında şüphe çekici hatalar bırakmak istemez.
* **Hataları Susturmak (Kara Delik Yöntemi):** Erişim izni olmayan dosyaları tararken ekranda oluşan yüzlerce "Permission Denied" hatasını `/dev/null` (Linux'un kara deliği) klasörüne yönlendirerek gizlerler.
find / -name "passwords.txt" 2> /dev/null
### 4. Zararlı Yazılım (Malware) Analizi ve Adli Bilişim
Şüpheli bir dosyanın (örneğin bir virüsün) içinde ne olduğunu veya nereye bağlanmaya çalıştığını anlamak için güvenli bir ortamda statik analiz yapılır.
* **Metin Ayıklama:** Zararlı yazılımın içindeki okunabilir metinleri (IP adresleri, URL'ler, komutlar) süzüp kaydetmek.
strings zararli_dosya.exe | grep "http" > baglanti_adresleri.txt
---
**Özetle;** Siber güvenlikte hız ve veri manipülasyonu her şeydir. Milyonlarca satır veriyi saniyeler içinde işleyip içindeki "iğneyi" bulmak,
ancak Linux yönlendirme ve boru hatlarının usta işi kullanımıyla mümkündür.
Yorumlar