Süzmek ve saymak: grep, sort, uniq, wc, cut
Bir web sunucusunun erişim günlüğünü grep’in seçenekleriyle süzer, cut ile alanlara ayırır, sort ve uniq -c ile en çok istek yapanları sıralar, bir CSV’yi sütuna göre sıralar, hataların bağlamını gösterir, ayarlarda parola arar ve tr ile metni dönüştürürsün; sonunda giriş sayfasına saldıran adresi ve en çok istek yapan beş adresi kendin çıkarırsın. Günlük her labda farklıdır.
Seviye 101 · 50 dk
Kuzeyyıldızı’nın web sitesi dün akşam yavaşladı. Elinde birkaç yüz satırlık bir erişim günlüğü var; Deniz soruyor: "Kim bu kadar istek yaptı, ne istedi, kaç tanesi başarısız oldu?"
Linux’un gücü küçük araçları borularla birleştirmekten gelir: grep süzer, cut alanları keser, sort sıralar, uniq -c tekrarları sayar, wc sayar, tr dönüştürür. Her biri tek iş yapar ama birlikte bir veri analiz hattı olurlar. Çizim tipik "en çok konuşanlar" (top talkers) hattını gösteriyor.
Günlük satırının biçimi: IP - - [zaman] "YÖNTEM YOL HTTP/1.1" DURUM BOYUT "-" "TARAYICI". Alanlar boşlukla ayrılır: 1. alan IP, 9. alan durum kodu.
Bu derste ne yapacaksın
- Kaç istek bulunamadı? grep -c
- grep’in seçenekleri: -v, -o, -E
- Alanları kes: cut
- En çok konuşanlar
- Sütuna göre sırala: sort -t -k
- Hatanın çevresi: -A, -B, -C
- Klasörün tamamında ara: grep -r
- Dönüştür: tr
- Giriş sayfasına saldıran
- İlk beş
- Kısa sınav
Kazanacağın beceriler
- Satırları süzmek ve saymak (grep, grep -c)
- grep seçenekleri (-v -o -E -i -w)
- Alanları kesmek (cut -d -f)
- Sıralamak ve saymak (sort, uniq -c)
- Günlükte en çok istek yapanları bulmak
- Eşleşmenin bağlamını göstermek (grep -A -B -C)
- Klasörün tamamında aramak (grep -r)
- Karakterleri dönüştürmek (tr)
- Kısa ve kesin bir bulgu yazmak
← Yönlendirme, stdout ile stderr ve borular · Linux temelleri · Çıkış durumu ve zincirleme komutlar (&&, ||, ;) →
Ücretsiz başla