Linux komut alıştırmaları
En çok kullanılan Linux komutlarını tek tek dener, her bölümün sonunda gerçek bir yönetici görevinde birleştirirsin.
Seviye 101 · 28 ders · 30 pratik lab
Dersler
Gezinme ve klasörler
- ls ile listelemek: gizli dosyalar, boyut ve tarih: ls seçenekleriyle gizli dosyaları, boyutları ve son değişiklik tarihlerini görür, en yeni dosyayı en üste alırsın.
- pwd ve cd ile konumunu bilmek ve dizin değiştirmek: pwd ile bulunduğun yeri doğrular, cd ile mutlak ve göreli yollar arasında hızlıca geçersin.
- mkdir ile iç içe klasör yapısı kurmak: mkdir -p ile tek komutta çok katmanlı klasör yapısı kurar, izinleriyle birlikte oluşturmayı öğrenirsin.
- Uygulama: mkdir ve ls ile denetim klasör iskeleti kur: Bir güvenlik denetimi için kanıt, rapor ve araç klasörlerini kurar, ls ile yapıyı doğrularsın.
Dosya işlemleri
- cp ile kopyalamak: izinleri ve tarihleri korumak: cp ile dosya ve klasör kopyalar, -a seçeneğiyle izin ve tarihleri bozmadan yedek alırsın.
- mv ile taşımak ve yeniden adlandırmak: mv ile dosya taşır ve adlandırır, -i ve -n ile var olan dosyanın üzerine yazmayı önlersin.
- rm ile güvenli silmek: -i, -r ve geri dönüşü olmayan hatalar: rm ile dosya ve klasör siler, geri alınamayan hataları önleyen kontrol alışkanlıklarını edinirsin.
- Uygulama: cp, mv ve rm ile dağınık paylaşım klasörünü düzenle: Karışık bir paylaşım klasörünü türlerine göre ayırır, eski kopyaları yedekleyip gereksizleri güvenle silersin.
Dosya okuma
- cat, more ve less ile dosya okumak: Kısa dosyaları cat ile, uzun logları more ve less ile sayfa sayfa okur, less içinde arama yaparsın.
- head ve tail ile başı, sonu ve canlı akışı görmek: head ve tail ile dosyanın başını ve sonunu alır, tail -f ile logu canlı izlersin.
- nl ile satır numaralamak: nl ile satırları numaralar, bir rapor ya da olay notunda belirli satıra kesin olarak atıf yaparsın.
- Uygulama: less, tail ve nl ile giriş logunda şüpheli satırları işaretle: Giriş logunun son kayıtlarını inceler, şüpheli denemeleri satır numarasıyla not alıp kısa bir rapor yazarsın.
Bulmak ve aramak
- which ve whereis ile komutun gerçek yerini bulmak: which ve whereis ile bir komutun hangi dosyadan çalıştığını bulur, sahte kopyaları fark etmeyi öğrenirsin.
- find ile ada, boyuta, tarihe ve izne göre aramak: find ile dosyaları ad, boyut, değişiklik tarihi ve izne göre bulur, sonuçlar üzerinde işlem yaparsın.
- grep ile desen aramak: -i, -r, -n ve -v: grep ile dosyalarda ve klasörlerde metin arar, büyük-küçük harfi yok sayar, eşleşmeyenleri ayıklarsın.
- Uygulama: find ve grep ile herkesin yazabildiği dosyaları ve açıkta kalan parolaları bul: find ve grep ile riskli izinli dosyaları ve düz metin parola içeren ayar dosyalarını bulup listelersin.
Metin işleme
- wc ve cut ile saymak ve sütun ayırmak: wc ile satır ve kelime sayar, cut ile log ve CSV dosyalarından istediğin sütunu çekersin.
- sort ve uniq ile sıralamak ve tekrarları saymak: sort ve uniq ile listeleri sıralar, tekrar edenleri sayar ve en çok görünen kayıtları üste çıkarırsın.
- tr ile karakter dönüştürmek ve silmek: tr ile büyük-küçük harf dönüştürür, ayraçları değiştirir ve istenmeyen karakterleri temizlersin.
- diff ile iki dosyayı karşılaştırmak: diff çıktısını okur, iki yapılandırma ya da kullanıcı listesi arasındaki eklenen ve silinen satırları bulursun.
- join ile iki listeyi ortak alana göre birleştirmek: join ile kullanıcı ve departman gibi iki listeyi ortak bir sütundan eşleştirip tek tabloda birleştirirsin.
- xargs ile listeden komut üretmek: xargs ile bir komutun çıktısını başka bir komuta argüman olarak verir, boşluklu adları güvenle işlersin.
- awk ile alan seçmek, süzmek ve toplamak: awk ile satırları alanlara ayırır, koşula göre süzer ve sütun toplamı ya da ortalaması hesaplarsın.
- Uygulama: cut, sort, uniq ve awk ile personel listesinden departman raporu: Bir personel dosyasından departman başına kişi sayısı ve yetkili hesap listesini çıkaran kısa bir rapor üretirsin.
Sistem kaynakları
- top ve free ile işlemciyi ve belleği izlemek: top ile en çok kaynak harcayan süreci, free ile kullanılabilir belleği okur ve normal ile anormali ayırırsın.
- df ve du ile disk alanını ve büyük klasörleri bulmak: df ile hangi diskin dolduğunu, du ile yeri kaplayan klasörü bulur ve büyükten küçüğe sıralarsın.
- time ile komutun süresini ölçmek: time çıktısındaki gerçek, kullanıcı ve sistem sürelerini okur, iki yöntemden hangisinin hızlı olduğunu ölçersin.
- Bitirme görevi: df, du, top ve find ile yavaşlayan sunucuyu teşhis et: Dolan diski, büyüyen dosyayı ve yükü artıran süreci bulur, bulgularını komutlarıyla birlikte raporlarsın.
Pratik lablar
- En yeni günlük dosyasını bul: Günlük dizinini tarihe göre sırala ve en son değişen dosyanın adını cevap olarak gir.
- En büyük gizli dosyayı bul: Paylaşılan klasördeki gizli dosyaları boyuta göre sırala ve en büyüğünün adını ve boyutunu cevap olarak gir.
- Denetim klasör iskeletini tek komutla kur: Verilen yapıdaki yıl, ay ve departman klasörlerini mkdir -p ve küme açılımıyla tek komutta oluştur.
- Tarihleri koruyarak kopyala: Rapor klasörünü değişiklik tarihleri ve izinleri korunacak şekilde arşiv dizinine kopyala.
- Yanlış adlandırılmış dosyaları toplu düzelt: Boşluk ve büyük harf içeren fatura dosyalarını istenen ad biçimine mv ile yeniden adlandır.
- Dağınık ortak klasörü toparla: Ortak klasördeki dosyaları türüne göre alt klasörlere taşı, yinelenen kopyaları ve boş dosyaları sil.
- Büyük ve eski dosyaları tespit et: Bir aydan eski ve belirli boyuttan büyük dosyaları find ile bul ve toplam sayısını cevap olarak gir.
- Herkesin yazabildiği dosyaları listele: Uygulama dizininde herkesin yazabildiği dosyaları find ile bul ve listesini cevap dosyasına yaz.
- Yalnızca eski geçici dosyaları sil: Geçici dizinde yalnızca .tmp uzantılı dosyaları sil, adında boşluk olanlar ve diğer dosyalar yerinde kalsın.
- Gerçekte hangi programın çalıştığını bul: python komutunun hangi dosyayı çalıştırdığını which ve whereis ile bul ve tam yolunu cevap olarak gir.
- Komutu gölgeleyen takma adı ve işlevi bul: ls komutunun neden beklenmedik seçeneklerle çalıştığını type -a ile incele; araya giren takma adı ve kabuk işlevini bulup hangisinin önce çalıştığını yaz.
- Aynı adlı üç programdan hangisinin çalıştığını kanıtla: PATH üzerindeki aynı adlı üç yedekleme programını which -a ile sırala, sürümlerini tam yollarıyla karşılaştır, kabuğun eski yolu hatırladığı durumu hash -r ile gider ve çalışan dosyanın tam yolunu raporla.
- Bir komutun ne kadar sürdüğünü ölç: Arşiv dizinini sıkıştıran komutu time ile çalıştır ve gerçek, kullanıcı ve sistem sürelerini cevap dosyasına yaz.
- İki yöntemden hızlı olanı ölç: Aynı aramayı iki farklı komutla time altında çalıştır ve hangisinin daha hızlı olduğunu süreleriyle raporla.
- İlk ve sonraki çalıştırma arasındaki süre farkını açıkla: Büyük bir dizinde aynı aramayı art arda üç kez zamanla, ilk çalıştırmanın neden yavaş olduğunu gerçek süre ile işlemci süresini karşılaştırarak göster ve adil bir ölçüm için ortalamayı raporla.
- Dizin ağacında bir sözcüğün geçtiği dosyaları listele: grep -rl ile betik dizininde eski sunucu adının geçtiği dosyaları bul ve listeyi cevap dosyasına yaz.
- Dizin aramasını dosya türüne göre daralt: grep -rn ile yalnızca .conf dosyalarında, yedek dizinini --exclude-dir ile atlayarak açık bırakılmış hata ayıklama ayarını ara ve dosya adlarıyla satır numaralarını kaydet.
- Açıkta kalmış parolaları ara: Proje ağacında parola içeren satırları grep -rn ile bul, örnek dosyaları eleyip gerçek sızıntının yerini raporla.
- Günlüğün son hatasını bul: Uygulama günlüğünün sonunu tail ile incele ve en son kaydedilen hata satırını cevap olarak gir.
- Şüpheli satırın numarasını bul: Giriş günlüğünü nl ile numaralandır ve root olarak yapılan ilk başarılı girişin satır numarasını cevap olarak gir.
- Büyük dosyanın ortasındaki kaydı çıkar: head ve tail'i birlikte kullanarak büyük döküm dosyasının istenen satır aralığını ayrı bir dosyaya çıkar.
- Personel listesinden departmanları say: Personel CSV dosyasından departman sütununu cut ile ayır ve her departmanda kaç kişi olduğunu say.
- İki listeyi ortak alanda birleştir: Kullanıcı ve departman listelerini join ile birleştir ve departmanı olmayan kullanıcıları ayrıca listele.
- Departman başına toplam maliyeti hesapla: Gider dosyasında her departmanın toplam tutarını awk ile hesapla ve en yüksek harcamalı departmanı cevap olarak gir.
- Bozuk satır sonlarını tr ile temizle: Windows'tan gelen adres listesindeki satır sonu karakterlerini tr ile temizle ve temiz dosyayı kaydet.
- Listedeki dosyaları xargs ile işle: Silinmesi onaylanan dosya listesini xargs ile işle, adında boşluk olan dosyalar da doğru silinsin.
- İki kullanıcı listesindeki farkı raporla: Dünkü ve bugünkü kullanıcı listelerini sort ve diff ile karşılaştır, eklenen ve silinen hesapları raporla.
- Diski dolduran dizini bul: df ile dolan bölümü, du ile en çok yer kaplayan dizini bul ve yolunu cevap olarak gir.
- İşlemciyi tüketen süreci bul: top ile işlemciyi en çok kullanan süreci bul, sahibini ve PID'ini cevap olarak gir.
- Yavaşlayan sunucunun nedenini bul: df, du, top ve find ile yavaşlığın nedenini bul ve sorunu yaratan süreci ya da dosyayı raporla.
Kurs hakkında
En çok kullanılan Linux komutlarını tek tek dener, her bölümün sonunda gerçek bir yönetici görevinde birleştirirsin.
Ne öğreneceksin
- Gezinme ve klasörler
- Dosya işlemleri
- Dosya okuma
- Bulmak ve aramak
- Metin işleme
- Sistem kaynakları
Ön koşullar
Ön bilgi gerekmez; kurs sıfırdan başlar.
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 başlangıç düzeyindedir; her terim ilk geçtiği yerde açıklanı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.