Kısa görev: tek satırlık komutla günlük özet çıkar
Bir ağ geçidinin günlüğünden, her biri tek satırlık komutlarla, günün özetini çıkarırsın: hata sayısı, en çok istek gönderen üç adres, girişi başarısız olan kullanıcılar, komut ikamesiyle kurulmuş tek satırlık bir özet, çıktısı ve hataları ayrı dosyalara yazılan bir denetim betiği ve işi yarın tek kelimeyle yineleyen bir takma ad.
Seviye 101 · 30 dk
Her sabah 08.30 toplantısında Deniz aynı soruları soruyor: "Dün ağ geçidinde kaç hata vardı? En çok kim istek gönderdi? Kimlerin girişi başarısız oldu?" Bugün cevapları sen hazırlayacaksın; üstelik yarın aynı işi birkaç saniyede yineleyebilecek şekilde.
Tek satırlık komut (one-liner), küçük araçları borularla (|) art arda bağlayıp tek satırda bir iş bitirmektir: biri süzer, biri keser, biri sıralar, biri sayar. Bu bölümde hepsini gördün: yönlendirme (>, >>, 2>), borular, grep, cut, sort, uniq -c, wc -l, head, zincirleme (&&, ||), komut ikamesi ($( )) ve takma adlar (alias).
Bu bir kısa görev: komut verilmiyor, yalnızca hedef var. Günlük /var/log/northwind/gateway.log dosyasında; her satırı boşlukla ayrılmış alanlardan oluşur: tarih saat istemci-IP düzey ileti…. Örnek: 2026-03-14 08:02:11 10.20.4.37 ERROR login failed user=can.d. Düzey INFO, WARN ya da ERROR olabilir. İçerik her labda farklıdır.
Bütün sonuçlar ~/report dizinine yazılacak. Her boruyu parça parça kur: önce ilk komutu çalıştır, çıktıya bak, sonra bir sonraki halkayı ekle.
Bu derste ne yapacaksın
- Kaç hata var?
- En çok istek gönderen üç adres
- Girişi başarısız olan kullanıcılar
- Tek satırlık özet
- Denetim betiği: çıktı, hata ve sonuç ayrı ayrı
- Yarın için: tek kelimelik takma ad
- Kısa sınav
Kazanacağın beceriler
- Satırları süzmek ve saymak (grep, grep -c)
- Komutları koşullu zincirlemek (&&, ||, ;)
- > ve >> ile çıktıyı dosyaya yönlendirmek
- Alanları kesmek (cut -d -f)
- Sıralamak ve saymak (sort, uniq -c)
- Günlükte en çok istek yapanları bulmak
- grep seçenekleri (-v -o -E -i -w)
- Komut ikamesi ($( ), ters tırnak)
- Satır saymak (wc -l)
- Hata çıktısını yönlendirmek (2>)
- Çıkış durumunu okumak ($?)
- Takma ad tanımlamak ve kaldırmak
- .bashrc’yi düzenleyip yüklemek (source)
← Dosya düzenlemek: nano ve vim'e ilk adım · Linux temelleri · Bitirme görevi: bir olay klasörünü incele ve şüpheli IP'yi bul →
Ücretsiz başla