Dosyaları, herhangi bir yere /tmp
, boyuta göre sıralamak için:
find /tmp -type f -exec du -k {} + | sort -k1n -k2
Hemen altındaki dosyaları ve dizin ağaçlarını /tmp
boyuta göre sıralamak için:
du -k /tmp/..?* /tmp/.[!.]* /tmp* 2>/dev/null | sort -k1n -k2
Tüm dosyaları ve dizin ağaçlarını /tmp
boyutlarına göre sıralanmış olarak herhangi bir yerde listelemek için :
du -ak /tmp | sort -k1n -k2
(Üç komut arasındaki farkı gösteren bir örnek: bir dosya varsa /tmp/dir/file
, ilk komut listeleri /tmp/dir/file
, ikinci listeler /tmp/dir
ve üçüncü listeler.
Yukarıdaki tüm komutlar boyutları kilobayt cinsinden gösterir. GNU du “insan tarafından okunabilir” boyutlar (k, M, G, vb. Çarpanları ile) çıktılarken, bunları sıralamak başka bir konudur. Son yeterince GNU coreutils (≥7.4) yapabilirsiniz: sadece yerini du -k
ile du -h
ve sort -k1n -k2
ile sort -k1h -k2
. Aksi takdirde, ekli boyutlara (yuvarlama) dönüştürmek için ham bir awk betiği; sadece sort
yukarıdaki çıkışı boruya geçirin .
awk -vFS='\t' -vOFS='\t' '{
if ($1) $1 = substr($1,1,(length($1)-1)%3+1)
substr("kMGTPEZY",(length($1)-1)/3+1,1);
print}'