Metin işleme: grep, sed, awk
Dosyalarda arama, metni dönüştürme ve rapor çıkarma.
Seviye 201 · 18 ders · 18 pratik lab
Dersler
grep ve düzenli ifadeler
- Düzenli ifadelere giriş: grep -E ile desen yazmak: Bir günlükte e-posta, IP veya tarih gibi biçimleri düzenli ifadeyle tarif edip grep -E ile yalnızca eşleşenleri çıkarabilirsin.
- grep ile bağlam satırları, dosya listesi ve ikili dosyalar
- Dosyaları karşılaştırmak: diff, comm ve cmp: diff, comm ve cmp ile iki yapılandırma ya da liste arasındaki farkları bulup bir değişikliğin neyi etkilediğini gösterebilirsin.
- Sütunları ve karakterleri dönüştürmek: tr, paste, join ve nl: tr, paste, join ve nl ile iki ayrı dosyadaki kayıtları ortak bir alana göre birleştirip numaralı, düzenli bir çıktı üretebilirsin.
- Komut zincirlerini kurmak: xargs ve tee: xargs ve tee ile bir komutun çıktısını başka komutlara argüman olarak verip aynı anda hem ekrana hem dosyaya yazabilirsin.
- Kısa görev: yapılandırmalarda açık kalmış hata ayıklama ayarlarını bul
sed
- sed ile metin değiştirmek: sed ile metindeki bir kelimeyi ya da deseni başka bir şeyle değiştirmeyi ve değişikliği dosyaya yazmadan önce sonucu önizlemeyi öğrenirsin.
- sed: satır silmek, eklemek, yerinde düzenlemek: sed ile belirli satırları silmeyi, araya satır eklemeyi ve dosyayı yerinde düzenlemeyi, yedek alarak güvenle yapmayı öğrenirsin.
- sed: adresler, aralıklar ve çok komutlu betikler
- Kısa görev: yüz yapılandırma dosyasında aynı satırı güvenle değiştir
awk
- awk ile alan ayıklamak: awk ile her satırı sütunlara ayırıp istediğin alanı çekmeyi, örneğin günlükten yalnızca adres ya da kullanıcı adı listelemeyi öğrenirsin.
- awk: koşullar ve desenler: awk'ta koşullar ve desenlerle yalnızca belirli şartı sağlayan satırları seçmeyi, örneğin hata kodu taşıyan kayıtları ayıklamayı öğrenirsin.
- awk: toplamlar, BEGIN/END ve rapor: awk ile toplam ve sayaç hesaplamayı, BEGIN ve END bölümlerini kullanmayı ve ham günlükten okunur bir özet rapor üretmeyi öğrenirsin.
- Kısa görev: df çıktısından doluluk uyarısı üret
Gerçek veriyle
- Günlük verisini temizlemek: Düzensiz günlük verisindeki boş, bozuk ve yinelenen satırları ayıklayıp analize hazır, tutarlı bir hale getirmeyi öğrenirsin.
- HTTP durum kodlarını ve hata oranını çıkarmak: Web sunucusu günlüğünden HTTP durum kodlarını sayıp hata oranını hesaplamayı ve ani artışların ne anlama gelebileceğini yorumlamayı öğrenirsin.
- Hassas veriyi maskelemek: Günlükleri paylaşmadan önce IP adresi, e-posta ve parola gibi hassas bilgileri maskelemeyi ve bunun neden veri korumada gerekli olduğunu öğrenirsin.
- Bitirme görevi: günlüklerden olay özeti çıkar: Hayali bir şirketin günlüklerinden olayın kısa özetini çıkarır: ne zaman başladı, kaç hata oldu, hangi adresler öne çıktı.
Pratik lablar
- Açık unutulmuş hata ayıklama ayarlarını bul: Yapılandırma dizininde debug ayarı açık kalmış dosyaları grep -rl ile bul ve listesini cevap dosyasına yaz.
- Çökmeden önceki satırları bağlamıyla çıkar: Uygulama günlüğündeki her panic satırını önceki beş satırla birlikte ayrı bir dosyaya çıkar.
- Günlüklerden olay özeti çıkar: Üç günlük dosyasından olayın başlangıç saatini, etkilenen adresleri ve en sık hatayı bulup tek sayfalık özet yaz.
- İki listenin farkını diff ile gör: Dünkü ve bugünkü paket listelerini sıralayıp diff ile karşılaştır ve bugün eklenen satırların sayısını cevap olarak gir.
- İki listede ortak olmayan hesapları bul: İnsan kaynakları listesiyle sunucu hesaplarını comm ile karşılaştır ve listede olmayan hesapları raporla.
- Üç ayrı listeden envanter tablosu kur: Ad, IP ve rol listelerini paste ve join ile birleştir, eksik eşleşmeleri işaretle ve sekmeyle ayrılmış tablo üret.
- sed ile yorum satırlarını sil: Yapılandırma dosyasının bir kopyasında # ile başlayan satırları ve boş satırları sed ile sil ve kalan satır sayısını yaz.
- Eksik başlık satırını tüm betiklere ekle: Shebang'i olmayan betikleri bul ve yalnızca onların ilk satırına sed ile doğru shebang'i ekle.
- Eşleşen satırın altına ayar bloğu ekle: Yirmi sanal konak dosyasından yalnızca günlük ayarı eksik olanlara, ServerName satırının hemen altına sed'in a komutuyla iki satırlık günlük ayarını ekle; yedek al ve ikinci çalıştırmada yinelenen satır oluşmadığını göster.
- Eski sunucu adını sed ile değiştir: Yapılandırma dosyasındaki eski veritabanı sunucu adını sed ile yenisiyle değiştir ve yedeğini bırak.
- Yüz yapılandırma dosyasında aynı satırı güvenle değiştir: Yüz dosyada yalnızca etkin olan zaman aşımı satırını sed -i ile değiştir, yorum satırlarına dokunma ve yedek al.
- Yalnızca bir bloktaki ayarları değiştir: Birden çok sanal sunucu bloğu içeren dosyada yalnızca adı verilen bloktaki portu sed aralık adresiyle değiştir.
- df çıktısından disk uyarısı üret: df çıktısında doluluk oranı eşiği aşan bölümleri awk ile bul ve uyarı satırları olarak yaz.
- Yavaş istekleri awk ile süz: Erişim günlüğünde yanıt süresi eşiğin üstünde olan isteklerin adresini ve süresini awk ile listele.
- Kullanıcı başına disk kullanım raporu çıkar: Dosya listesinden kullanıcı başına toplam boyutu awk ile hesapla, başlık ve genel toplam içeren hizalı rapor üret.
- Bozuk satırları günlükten ayıkla: Günlükteki boş, yinelenen ve denetim karakteri içeren satırları temizle ve temiz kopyayı kaydet.
- HTTP durum kodlarının oranını çıkar: Erişim günlüğünden her durum kodunun sayısını ve 5xx hata oranını yüzde olarak hesapla.
- Paylaşmadan önce hassas veriyi maskele: Destek ekibine gönderilecek günlükteki e-posta adreslerini, kart numaralarını ve belirteçleri sed ile maskele.
Kurs hakkında
Dosyalarda arama, metni dönüştürme ve rapor çıkarma.
Ne öğreneceksin
- grep ve düzenli ifadeler
- sed
- awk
- Gerçek veriyle
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.