Yazı Getir
avatar

Bu komutun temel amacı, Linux dosya sisteminde yer alan en büyük dosyaları bulmak ve bunları boyutlarına göre sıralayarak ilk 20 tanesini göstermektir. Özellikle disk doluluğu, yer açma ihtiyacı veya sistem temizliği sırasında oldukça işe yarayan bir komuttur.

Bu komutu çalıştırarak, sistemde çok fazla yer kaplayan dosyaların tam konumlarını görebilir, gereksizse silebilir ya da taşıyabilirsin. Sistem yöneticileri (sysadmin), bu tür komutları disk yönetimi ve bakım süreçlerinde sıkça kullanır.

🧩 Komutun Parça Parça Açıklaması

Şimdi bu uzun komutu parçalara ayırarak ne yaptığını tek tek açıklayalım:

sudo find / -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 20

1. sudo

  • Anlamı: Komutu “superuser” (yani root) yetkileriyle çalıştırır.
  • Neden Kullanılır? Bazı sistem klasörlerine normal kullanıcı erişemez. sudo kullanmazsan, örneğin /root, /var, /proc gibi dizinlerdeki dosyalar taranamaz.

2. find / -type f

  • Anlamı: Kök dizinden (/) başlayarak tüm alt dizinlerde dosya türündeki nesneleri (file) arar.
  • -type f: Sadece normal dosyaları bulur. Klasörleri, sembolik linkleri, aygıt dosyalarını dışlar.

3. -exec du -h {} +

  • Anlamı: Her bulunan dosya için du -h komutunu çalıştırır.
  • du (disk usage): Dosyanın disk üzerinde kapladığı gerçek alanı verir.
  • -h: “human-readable” yani okunabilir biçimde gösterir (örneğin: 1K, 20M, 3.5G gibi).
  • {}: find tarafından bulunan her dosya, buraya yerleştirilir.
  • +: Bu işlevsel olarak xargs gibi davranır, yani aynı anda birden fazla dosya üzerinde du çalıştırarak işlemi hızlandırır.

4. 2>/dev/null

  • Anlamı: Hata mesajlarını bastırır.
  • Özellikle erişim izni olmayan dosyalarda oluşan hata mesajlarını /dev/null‘a yönlendirerek kullanıcıya göstermez.
  • Bu sayede çıktı daha temiz olur.

5. | sort -hr

  • Anlamı: Çıktıyı boyutuna göre büyükten küçüğe sıralar.
  • -h: İnsan okunabilir boyutları karşılaştırır (K, M, G gibi).
  • -r: Ters sıralama (büyükten küçüğe) yapar.

6. | head -n 20

  • Anlamı: Sıralanan en büyük dosyalardan sadece ilk 20 tanesini gösterir.
  • Eğer tüm çıktıyı görmek istersen head kısmını çıkarabilirsin, ama çok uzun olabilir.

💡 Bu Komut Ne İşe Yarar, Ne Zaman Kullanılır?

Kullanım Senaryoları:

  • Disk Alanı Doluysa: Hangi dosyalar diski dolduruyor anlamak için.
  • Performans Sorunu Varsa: Log dosyaları, büyük medya dosyaları ya da geçici dosyalar çok yer kaplıyorsa sistem yavaşlayabilir.
  • Sistem Temizliği Yapmak: Kullanılmayan ama çok yer kaplayan dosyalar tespit edilip silinebilir.
  • Sunucu Yönetimi: Web sunucuları, veritabanı sistemleri veya log servisleri zamanla büyük dosyalar üretir. Bunları kontrol etmek gerekir.

📌 Örnek Çıktı:

3.5G    /var/log/biglogfile.log
2.2G    /home/user/Downloads/movie.mp4
1.8G    /opt/database/data.db
...

Bu çıktıda hangi dosyanın ne kadar yer kapladığı ve nerede bulunduğu net şekilde görülür. Gereksiz olanlar temizlenebilir ya da arşivlenebilir.

⚠️ Uyarılar:

  • Yavaş çalışabilir: Tüm dosya sistemini taradığı için zaman alabilir. Özellikle büyük ve dolu disklerde sabırlı olmak gerekir.
  • Root yetkisi gerekebilir: sudo kullanmak genellikle zorunludur, yoksa birçok dosya atlanır.
  • Sistem dosyalarına müdahale etme: Büyük ama önemli sistem dosyalarını silmek sistemde bozulmalara neden olabilir. Silmeden önce ne işe yaradığını kontrol et.

🧠 Sonuç

sudo find / -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 20 komutu, Linux sisteminde en fazla yer kaplayan dosyaları hızlıca bulmanı sağlar. Disk temizliği, performans iyileştirme ve sistem yönetimi gibi görevlerde oldukça faydalıdır. Ancak bu komutu kullanırken dikkatli olunmalı ve önemli sistem dosyalarına müdahale edilmemelidir.

  • Okuma Süresi: 3 dk, 11 sn

Yorum Yap

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir