Bir dizindeki tüm dosyaları ve özyinelemeli dosya boyutlarını nasıl listeleyebilirim?
---Düzenle
Listelenen dizindeki ana dizinlere 'toplanmış' boyutları görmek istiyorum. Alt dizinleri veya içeriğini veya boyutlarını görmek istemiyorum.
Bir dizindeki tüm dosyaları ve özyinelemeli dosya boyutlarını nasıl listeleyebilirim?
---Düzenle
Listelenen dizindeki ana dizinlere 'toplanmış' boyutları görmek istiyorum. Alt dizinleri veya içeriğini veya boyutlarını görmek istemiyorum.
Yanıtlar:
Sanırım en kolay yol yazarak ls -l
veya ls -lh
dosya boyutunu insan tarafından okunabilir biçimde (KB, MB, vb.) Sağlayacak.
Eğer 'özyinelemeli' takip eden tüm klasörlerin listelenmesi anlamına geliyorsa, örneğin:
/ foo /
/ foo / bar / ....
Öyleyse R
, ls -lR
veyals -lhR
Daha fazla bilgi ls
yazarak bulunabilir.man ls
Güncelleme:
Lekensteyn'in önerdiği şekilde şu komut muhtemelen işi yapacak:
du -h --max-depth=1 <folder>
-h
İnsan tarafından okunabilir
--apparent-size
olması, boyutları belirtilmiş olan başka bir yoldur, önceden belirtildiği gibi
--max-depth
, aşağı inmek istediğiniz alt klasörlerin seviyesidir.
apt-get install ncdu
Aynı zamanda etkileşimlidir, bu nedenle sadece YUKARI, AŞAĞI ve ona bir alt klasörde kontrol etmek istiyorsanız.
Bir dizinin ve tüm çocukların toplam boyutlarını almak için
du -hs directory/*
Ayrıca kontrol edin tree
. Varsayılan olarak kurulmaz fakat depolardır.
Örnek:
richard@legend:~$ tree Applications/ -s
Applications/
├── [ 4096] AlexFTPS-1.0.2
│ ├── [ 31232] AlexPilotti.FTPS.Client.dll
│ ├── [ 274432] C5.dll
│ ├── [ 1457] C5-License
│ ├── [ 35147] COPYING
│ ├── [ 7639] COPYING.LESSER
│ ├── [ 70] ftps
│ ├── [ 28672] ftps.exe
│ ├── [ 98304] Plossum CommandLine.dll
│ ├── [ 1557] Plossum-License
│ └── [ 2560] README
└── [ 4096] src
└── [ 180849] AlexFTPS_bin_1.0.2.zip
Man sayfasında daha fazla seçenek bulunabilir.
-h
insan okunabilir bir şekilde boyutunu göstermek, örneğintree -s
Terminal tabanlı bir çözüme ihtiyaç duyduğunuzdan özellikle bahsetmediğiniz için, bence baobab aka Disk Kullanım Analizörü listede eksik.
Varsayılan olarak Ubuntu'da kuruludur ve dizinin hiyerarşisini delme özelliği olan güzel bir grafik kullanıcı arabiriminde tam olarak istediğinizi yapar.
Boyutlarıyla birlikte bir dizin listesi görüntülemenin yanı sıra, en çok yer kaplayan dizinlerin görselleştirilmesinde son derece yararlı olan bir halka veya dosya sistemi kullanım haritası grafiği de gösteriyor.
Bir uç bir çözüm olan du
komutu:
du --all --human-readable --apparent-size
(kısa: du -ah --apparent-size
)
du
Her dosya ve dizin için disk kullanımını görüntüler. Seçenekler açıklandı:
--all
, -a
- sadece dizinleri değil, dosyalar için boyutları göster--human-readable
, -h
- boyutları okunabilir bir formatta gösterir, örneğin 10K
(10 kilobayt), 10
(10 bayt)--apparent-size
- disk tarafından kullanılan boyutları değil, gerçek dosya boyutunu gösterin.--max-depth=1
--max-depth=1
kısaltılabilir -d1
.
Simlink'ler söz konusu olduğunda hile yapmak gibi görünüyor.
ls -LRlh
Sıralanmış bir liste almak için her şeyi MB'ye ve sıralamaya koyun:
du -m * | sort -n
Veya tam disk ağacının bir raporunu oluşturmak için DiskReport gibi bir araç kullanın .
Başka bir terminal çözümü find
ve sıralama (dosya boyutuna göre, sütun 1)
$ find . -maxdepth 1 ! -path . -printf "%s %p\n" | sort -n -k1
178 ./somefile.txt
219 ./somefile2.txt
4096 ./c
4096 ./cs2
4096 ./perl
4096 ./python
4096 ./random
4096 ./sh