Щоб перелічити файли в будь-якому місці під /tmp, відсортовані за розміром:
find /tmp -type f -exec du -k {} + | sort -k1n -k2
Щоб перелічити файли та дерева каталогів безпосередньо під /tmp, відсортовані за розміром:
du -k /tmp/..?* /tmp/.[!.]* /tmp* 2>/dev/null | sort -k1n -k2
Щоб перелічити всі файли та дерева каталогів у будь-якому місці /tmp, відсортовані за розміром:
du -ak /tmp | sort -k1n -k2
(Приклад для ілюстрації різниці між трьома командами: якщо є файл /tmp/dir/file, перші списки команд /tmp/dir/file, другі списки /tmp/dirта треті списки обох.)
Усі команди, наведені вище, показують розміри в кілобайтах. У той час як GNU du може виводити "читабельні для людини" розміри (з множниками k, M, G тощо), їх сортування - інша справа. Досить останній GNU coreutils (≥7,4) може це зробити: просто замінити du -kна du -hі sort -k1n -k2на sort -k1h -k2. В іншому випадку, ось непростий скрипт awk для перетворення на суфіксальні розміри (округлення вниз); просто труба sortвиходу в нього вище.
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}'