Вы сейчас можете подумать, есть же команда "ls -l", которая показывает расширенный список атрибутов... Размер каталога значит тоже должна выводить. Ну, нет) Для этого нам нужно использовать утилиту du, которая для этих целей подойдет отлично.
Размер каталога
В качестве примера возьмем папку Downloads и выведем ее размер:
$ sudo du -sh ~/Downloads
96M /home/parallels/Downloads
Для лучшего понимания вкратце пройдемся по задействованным опциям:
-s - выводить только общий размер самой папки и не отображает информацию о ее вложенных ресурсах. Тем самым, не захламляя stdout;
-h - выводить информацию в привычном виде. Речь о единицах измерения (K – килобайт, M – мегабайт и т. д.);
Размер файлов на верхнем уровне
Также можно глянуть общий размер только файлов на самом верхнем уровне каталога. Для этого добавляем опцию "-S". Тут мы не пойдем вглубь и не станем проверять ресурсы внутри образного "~/Downloads/dir1" и т.д:
$ sudo du -sSh ~/Downloads
92M /home/parallels/Downloads
Размер вложенных каталогов
$ sudo du -h ~/Downloads
В результате отобразится сначала размер вложенных каталогов, а потом и самого "Downloads" С помощью опции --max-depth можно задать максимальную глубину вложенности. Если вам интересен только верхний каталог, то глубина == 0, если еще и вложенные в нее, то >= 1:
$ sudo du -h --max-depth=1 /etc
16K /etc/lighttpd
8.0K /etc/python3
56K /etc/iproute2
Это будет особенно полезно, когда директория сильно разрослась, и нужно ограничить область действия для утилиты.
Размер файлов с учетом вложенности
Также можно увидеть размер целевого каталога и всех ресурсов внутри (с учетом вложенности). Для этих целей нужно приписать флаг "-a":
$ sudo du -ah ~/Downloads
96M ...Downloads/code_1.99.3-1744760597_arm64.deb
4.0K ...Downloads/file-part_2
4.0K ...Downloads/file-part_1
Если данных на выходе получается слишком много, то может иметь смысл их отсортировать по размеру:
$ sudo du -ah ~/Downloads | sort -rh
96M .../Downloads/code_1.99.3-1744760597_arm64.deb
96M .../Downloads
20K .../Downloads/test
LinuxCamp | #utils