Geçerli klasör klasörünün boyutlarını terminalde listeleyiniz mi?


134

Geçerli dizindeki klasörlerin listesini veya boyutlarıyla belirttiğim klasörlerin listesini istiyorum.

Du ile denedim ama yalnızca belirttiğim dizinlerin boyutunu aldım (du. ./F1) ve ls klasörlerin boyutunu göstermiyor.

Herhangi bir komut dosyası olmadan bunu nasıl yaparım?


pislik gibi gelmiyor ama 'man du';)
Jakub

5
Teşekkürler ;-) ama çoktan denedim ve hiçbir şey bulamadım. Ve Googling du'yu dene!
kevin

Yanıtlar:


212

Geçerli dizindeki tüm dizinleri göstermek istiyorsanız:

$ du -sh */
788K    foo/
500K    bar/
931K    baz/

Onları başka bir dizinden başlayarak göstermek için:

$ du -sh /path/to/dir/*/
48K     /path/to/dir/dir1/
4.0K    /path/to/dir/dir2/
6.7M    /path/to/dir/dir3/
20K     /path/to/dir/dir4/
8.0K    /path/to/dir/dir5/
44K     /path/to/dir/dir6/

Nokta ile başlayan isimleri içeren dizinlerin dahil edildiğinden emin olmak için shopt -s dotglobönce yapın.


Teşekkürler tüm harika cevaplar ama bu en basit olanıdır. Testlerimin sonunu / içinde unuttum.
kevin,

1
Nerede -s özetler, toplamı gösterir ve -h insan tarafından okunabilir demektir
wranvaud

2
Boyutuna göre klasörleri sırala: du -s */ | sort -n.
Anton Tarasenko


1
@AntonTarasenko: shopt -s dotglob doc
Dennis Williamson

18

Mac'te, - max-derinlik seçeneği -d [derinlik] ile desteklenir. Dolayısıyla, kök sürücünüzün okunabilir bir listesini ve 2 kat derinliği görmek için aşağıdakileri kullanın:

du -hd 2 /* 

Not: Bu komut kökünüzdeki en üst iki dizin seviyesini gösterecektir. Bu, bir seviyenin Birimlerinize geçişini içerir ve her bir üst düzey dizinin özet boyutlarını ekli hacimlerinizin her birinde listeler. Neyin eklediğine bağlı olarak, bu komutun tamamlanması biraz zaman alabilir.


13

Başka bir yaklaşım, - max-derinlik seçeneğidir.

du -h --max-depth=1 .

Geçerli klasör altındaki tüm dizinleri ve dosyaları boyuta göre listeler.

Derinlik 2, bir seviye daha klasör listeler.


4
Mac'te du -hd 2 .2 derinlik seviyesi için.
Ryan

Ah evet. Ve muhtemelen FreeBSD'de de. Bilgi için teşekkürler.
matthias krull

5

Deneyin:

$ du -s ./f1

veya

$ du -sh ./f1

daha kolay okunabilir boyutlar için.


2

$ du --max-depth=1 /var/www/ | sort -n -r


3
Mevcut cevapları olan eski bir soruya cevap eklerken, cevabınızın nasıl farklı olduğunu açıklamak iyi bir uygulamadır ve sadece bir komut olmadığı için bir açıklama ekleyin.
Jason Aller,

3
Parametrelerin ne yaptığını açıklamak için cevabını genişletebilir misin?
fixer1234

2

NCurses Disk Kullanımı kabuk komutundan bahsetmeye değer .

Ncdu, ncurses arayüzüne sahip bir disk kullanım analizörüdür. Grafik bir kurulumun tamamının olmadığı uzaktaki bir sunucudaki uzay domuzlarını bulmak için tasarlanmıştır, ancak normal masaüstü sistemlerinde bile yararlı bir araçtır. Ncdu hızlı, basit ve kullanımı kolay olmayı ve ncurses kurulu olan herhangi bir POSIX benzeri ortamda çalışabilmelidir.


2

Kabul edilen cevaba dayanarak, bu komut size dizindeki klasörlerin boyutlarını gösterecek ve daha kolay yorumlayabilmeniz için bunları boyutlarına göre listeleyecektir:

$ du -sh */ | sort -rn

1

Mac'te, duHomebrew ( brew install coreutils) ile GNU (Linux) uygulamasını yükleyebilirsiniz . Sonra örneğin:

gdu folder -shL --exclude=.git

nerede

  • gduGNU’nun uygulanmasına verilen addır du(varsayılan olarak Homebrew gizlenmez /usr/bin/du);
  • s belirtilen klasör için genel bir toplam üretir (dökümü görmek istiyorsanız atlayın);
  • h insan tarafından okunabilen boyutları çıkarır;
  • L sembolik izleri takip eder;
  • --exclude=.git belirtilen klasördeki git dizinini hariç tutar (bu sadece bir örnektir).

Ekleyerek daha fazla klasör görmezden gelebilirsiniz --exclude=blah. Aynı anda birden fazla klasör de belirleyebilirsiniz (örn. gdu folder1 folder2 ...) Ve bu durumda, tüm alt toplamları tek bir boyutta seçeneği kullanarak birleştirebilirsiniz c.


1

İşte çalışacak bir POSIX betiği:

  • Bir dosya
  • Dosyalar
  • Bir dizin
  • Dizinler
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

Kaynak

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.