Мое избранное решение использует смесь из нескольких хороших ответов.
du -aBM 2>/dev/null | sort -nr | head -n 50 | more
du аргументы:
-a для «всех» файлов и каталогов. Оставьте это для просто каталогов -BM, чтобы вывести размеры в мегабайтах (M) размерах блоков (B) 2>/dev/null - исключить сообщения об ошибках «отказались» (спасибо @Oli)sort аргументы :
-a для всех файлов и каталогов. Оставьте это для только каталогов -r для «обратного» (наибольшего к наименьшему) аргументовhead:
-r для «обратного «(самый большой и наименьший) -BM для вывода размеров в мегабайтах (M) блоков (B)Примечание: префикс с sudo для включения каталоги, в которых у вашей учетной записи нет разрешения на доступ.
Пример, показывающий 10 самых больших файлов и каталогов в / var (включая общую сумму).
cd /var
sudo du -aBM 2>/dev/null | sort -nr | head -n 10
7555M .
6794M ./lib
5902M ./lib/mysql
3987M ./lib/mysql/my_database_dir
1825M ./lib/mysql/my_database_dir/a_big_table.ibd
997M ./lib/mysql/my_database_dir/another_big_table.ibd
657M ./log
629M ./log/apache2
587M ./log/apache2/ssl_access.log
273M ./cache