eşik boyutundan büyük dosyaları görmek için du nasıl kullanılır


9

Du man sayfalarında hiçbir şey görmediğim birkaç durumum var.

1) Bir alt dizinde yalnızca belirli bir boyuttan daha büyük dosyaları görmek istiyorum. 2) du -sh> du_output.txt kullanıyorum Çıktıyı -s ve -h için açıklandığı gibi görüyorum.

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

Yukarıdaki dizin düzeni ve ben sadece tüm alt dizinlerde tek tek dizinlerin boyutunu görmek istiyorsanız ne yapabilirim (her alt dizinin derinliği değişkendir)

Yanıtlar:


5

Gt5 yardımcı programını seviyorum . duDizin çıktısını kullanır ve dizinlerin ve boyutlarının göz atılabilir bir listesini oluşturur ve bilgileri görüntülemek için bağlantılar gibi bir metin modu tarayıcısı kullanır .

Her iki program da Ubuntu depolarında mevcuttur: gt5 ve bağlantılar .

gt5 ekran görüntüsü


Teşekkürler, gt5 çok ilginç görünüyor. Şimdi kuracağım. Tabii ki GUI için "baobab" da var.
SabreWolfy

23

Yalnızca 1 GB'tan büyük klasörleri göstermek için:

du -h --threshold=1G

Ayrıca büyük olanları kolayca bulmak için boyuta göre sipariş vermek isteyebilirsiniz.
du -h --threshold=1G | sort -h

(Şurada çalışır: Ubuntu / Mint.
Çalışmıyor: OSX veya RHEL 6.2)


2
Çok kötü --thresholdOS X üzerinde çalışmıyor
Franklin Yu

Ayrıca RHEL 6.2 üzerinde çalışmıyor
Matthew Moisen

Ayrıca Ubuntu'da sort -hnhn'nin uyumsuz olduğunu söylüyor .
Scott Stafford

1
@ScottStafford Bunun için teşekkürler, yazım hatası, düzeltildi. Sadece okumalıydımsort -h
Mtl Dev

nasıl 500KB üzerinde dosyaları göstermek için? (klasörler yerine)
Alexander Mills

12

Bunun yerine find komutunu kullanın. Aşağıdaki örnekte 10 megabayttan büyük tüm dosyalar gösterilecektir:

find -size +10M

Du ile her dosyanın boyutunu görmek için şöyle bulun komutunu kullanabilirsiniz:

find -size +10M -exec du -sh {} \;

0

find /path/to/folder -size +100k

Belirli bir değerden daha büyük dosyaların boyutunu görmek veya bir değerden daha büyük klasörleri görmek isteyip istemediğiniz açık değildir .


Temel olarak bir rapor hazırlamam ve bunu her ikisini de işaret ettiğiniz 2 şekilde temsil etmem gerekiyor.
Bond

Bence yukarıda bahsedilen gt5 aradığınız şey olabilir.
SabreWolfy

0

Mtl Dev'in cevabının bu soruya uygun olduğunu görüyorum. Bond bu konuyu 'linux' ve 'ubuntu-10.04' etiketi ile açtığı için.
Yine, du -h --threshold=1G(ardından | sort -histeğe bağlı olarak) Ubuntu'da mükemmel çalışıyor.

Ancak Bond şunları söyledi:

Du man sayfalarında hiçbir şey görmüyorum.

kılavuz sayfasında iki satır var, lütfen aşağıya bakın.

-t, --threshold = SIZE, pozitifse SIZE'den
küçük girişleri veya negatifse SIZE'den büyük girişleri hariç tutar

Bir şey daha var, sanırım Bond'un istediği komut satırı böyle bir şey,

find . -mindepth 2 -type d | xargs du -sh -t 1G

-mindepth 1Geçerli yolu içermesi gerektiğini iddia ettiğinde -mindepth 2, talebiniz üzerinde çalışacaktır.

Aşağıda popüler veri kümesi lisa hakkında bir gösteri .

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training
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.