Find ile sabit sürücünüzdeki en büyük dizinleri veya dosyaları arayın

Hiç sabit sürücünüzdeki en büyük klasör veya dosyanın hangisi olduğunu bilmek istediniz mi?

Komut bulmak bu harika, birçok şey yapmamıza izin veriyor (burada bazılarından daha önce bahsetmiştik), burada size bunun başka bir kullanımını getiriyorum.

Aşağıdaki komut tüm HDD'yi arayacak ve bize bilgisayardaki en büyük 10 dosya veya klasörün hangileri olduğunu söyleyecektir:

sudo find / -printf '%s %p\n'| sort -nr | head -10

Sadece en büyük 10'u değil, 20'yi veya bunun gibi bir şeyi bilmek istiyorsanız, son 10'u istediğinizle değiştirin.

Daha önce de söylediğim gibi, sadece hesaba katmak istiyorsanız, bu hem klasörleri hem de dosyaları sayacaktır. klasörler -tip d (d = dizin) eklemek olacaktır:

sudo find / -type d -printf '%s %p\n'| sort -nr | head -10

Aksine ve sadece görmek istiyorum kayıtlar ve hiçbir klasör -type f (f = dosya) olamaz:

sudo find / -type f -printf '%s %p\n'| sort -nr | head -10

Dosya türünü belirtmek istiyorsanız, yani .mp4'ü hesaba katın, bir -iname "* .mp4" ekleyin:

sudo find / -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10

Benim durumumda, sahip olduğum en büyük dosyalar sanal sunucularımın sanal HDD'leridir. KVM+ Qemu, ardından bir futbol videosu (Gareth Bale'nin Real Madrid ile sunumu) ve diğer şeyler.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Borisadrian dijo

    Tam da kökümde nerede daha fazla yer kapladığımı bilmek ve böylece onu serbest bırakabilmek için aradığım şey.

    Teşekkür ederim.

  2.   Eduardo dijo

    Çok güzel makale, çok kullanışlı. Çok teşekkür ederim… Bu arada Hala Madrid !! hehehe

    1.    FIXOCONN dijo

      Madrid grubuna buradan katılıyorum
      bir süre önce centos 6.5 minimal'i kurdum ve bu hatayı aldım ve / etc / hostname düzenleyerek çözdüm, çünkü ağ kartının konfigürasyonunda yazdığım hostname apache tarafından tanınmıyordu.

  3.   3rn3st0 dijo

    Hoşlandığım bir şey varsa «Desde Linux» Sıfırlar ve birler arasındaki hayatlarımızı daha katlanılabilir kılan bu mücevherlerin her zaman konsol için ortaya çıkmasıdır. Çok teşekkür ederim KZKG ^ Gaara!

  4.   Vay dijo

    Yemin ederim bu blogda bir alternatif okudum, onu keşfettiğimden beri onsuz yaşayamam:

    ncdu

    Varsayılan olarak gelmeyen etkileşimli bir komuttur (dağıtım paketinizden yüklemeniz gerekir) ancak son derece kullanışlıdır. Dosyaları boyuta göre sıralar, size bir çubuk veya bölümde kapladıkları alanın bir yüzdesini gösterir. İşte internetten alınmış bir ekran görüntüsü http://www.heitorlessa.com/wp-content/uploads/2013/04/NCDU-1.9-Disk-stats.png

  5.   Vidagnu dijo

    Du komutu ile de yapılabilir.
    Bu, klasörleri bulmak içindir

    $ du -Sh | sırala -rh | kafa -n 15

    Ve bu en büyük dosyaları bulmak için.

    $ bul. -tipi f -exec du -Sh {} + | sırala -rh | kafa -n 15

    $ bul. -tipi f -exec du -Sh {} + | sırala -rh | kafa -n 15

  6.   hup80 dijo

    Ve her seçeneğin açıklaması nedir?

  7.   Luis Gago Casas dijo

    Çok güzel bir makale bana çok yardımcı oldu.
    Paylaştığınız için çok teşekkür ederim

  8.   Roger Reyes dijo

    Birisi bana yardım edebilir mi? 0 bayttan büyük olan tüm .txt dosyaları için bir dizinin içine bakan ve bunları başka bir dizine taşıyan bir komuta ihtiyacım var, şimdiye kadar sadece şunu buldum:

    bul. -tip f -boyutu + 1b -exec mv /home/oradev/new/*.txt / home / oradev / hareket \;

    ancak boyutlarına bakılmaksızın tüm dosyaları taşıyın.

  9.   jac dijo

    Komut için teşekkürler!

    Onu başka durumlarda da kullanmıştı, ama sadece "Script kiddie" modunda ... acele ve benzeri nedenlerle.

    Ve bul çok yaygın bir komut olmasına rağmen (-name, –exec), kılavuzun tamamına tam olarak bakamamıştım.

    Bu muhteşem aletin sahip olduğu acımasız gücü zaten fark etmiştim ... ama şimdi onu daha yakından görüyorum ve ona daha çok hayranım.

    İşte İspanyolca olarak var:
    http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/find.1.html

    Tartışmaların daha sezgisel olmaması bir kaltak ... Ya onları biliyorsun, onları öğrendin ya da daha fazla olmadığında inet ya da insanı aramak ... otalar.

    Tekrar teşekkürler ve her zamanki gibi GNU'ya teşekkür ederim!

    Bir soru ... sadece meraktan:

    Bulmak için "printf" argümanını koyduğunuzda ...
    Find system printf komutunu kullanıyor mu, yoksa printf find içinde uygulanıyor mu?

    Bunu söylüyorum, çünkü printf sistemde sonsuza kadar uygulanan bir komuttur, ama şahsen hiç kullanmak zorunda olmadığım ... en azından doğrudan.

    Selamlar!

    jak.

  10.   yorgan dijo

    sudo find / -type f -printf '% s% p \ n' | sıralama -nr | kafa -10
    bazı rotalardan kaçınıyor musunuz?

    Ben örneğin:
    / dev / sda2 19G 16G 2.8G %85 /
    udev 10M 0 10M %0 / dev
    tmpfs 3.2G 329M 2.9G %11 / çalıştırma
    tmpfs 7.9G 153M 7.8G %2 / dev / shm
    tmpfs 5.0M 0 5.0M %0 / çalıştır / kilitle
    tmpfs 7.9G 0 7.9G %0 / sys / fs / grup
    / dev / sda1 453M 37M 389M %9 / önyükleme
    / dev / drbd3 477M 2.3M 445M %1 / var / lib / nfs
    / dev / drbd1 1.9T 821G 1005G %45 / nfs / ana sayfa
    / dev / drbd2 2.9T 960G 1.8T %36 / nfs / ana arşiv
    / dev / drbd0 962G 426G 488G %47 / nfs / havuz

    ve çalıştırırken find / -type f -printf '% s% p \ n' | sıralama -nr | kafa -10
    / nfs / adresinden dosya alıyorum
    bunu görmezden gelmek istiyorum