Главная >> Инструкции >> Как посмотреть размер папки в Linux

Как посмотреть размер папки в Linux

Посмотреть занимаемое место конкретной директории на диске Linux получится через любой файловый менеджер. Достаточно открыть свойства файла. Но там информация отображается в кратком виде, а нередко нужны подробности. С помощью утилиты ls получить детальные сведения не получится. А вот утилита du для этих целей подойдет отлично.

В данной статье мы расскажем, как посмотреть размер папки в Linux с помощью du. Для этого разберем два примера ее использования.


Содержание статьи

Как посмотреть размер папки в Linux

Сначала мы опишем, как получить информацию об определенной папке, с учетом или без учета ее вложений. А потом перейдем к подпапкам в конкретном каталоге. Заодно упомянем несколько полезных нюансов работы с du, например, возможность сортировки данных.

1. Определённая папка

В качестве примера возьмем папку Downloads. Команда для вывода ее размера выглядит следующим образом:

sudo du -sh /home/root-user/Downloads

В результате выведется её занимаемое место на диске:

Для лучшего понимания команды вкратце пройдемся по задействованным опциям:

  • -s – выводить только размер самой папки, без вложенных подпапок.
  • -h – выводить информацию в привычном виде. Речь о единицах измерения (K – килобайт, M – мегабайт и т. д.).

Также вы можете посмотреть общий размер только самих файлов в папке, без учета содержимого подпапок. Для этого используется опция -S:

sudo du -sSh /home/root-user/Downloads

Теперь вы знаете как вывести размер папок Linux.

2. Папки в каталоге

Второй полезный сценарий использования утилиты du заключается в выводе размера всех вложенных папок в определенной директории, без учета файлов внутри. Опять в качестве примера возьмем директорию Downloads. Вот нужная нам команда:

sudo du -h /home/root-user/Downloads

В результате ее выполнения в терминале отобразится сначала размер вложенных подпапок, а потом и самой папки. С помощью опции --max-depth можно задать максимальную глубину вложенности. Если вам интересна только сама папка, то глубина равна 0, если еще и вложенные в нее подпапки, то глубина равна 1 и больше:

sudo du -h --max-depth=1 /home/root-user/Downloads

Это будет особенно полезно, когда директория сильно разрослась, и нужно ограничить область действия для утилиты du.

Также вы можете увидеть размер самой папки и всех файлов внутри нее, в том числе и во вложенных папках. Для этих целей нужно дополнительно задать опции -a:

sudo du -ah /home/root-user/Downloads

Если данных на выходе получается слишком много, то в некоторых ситуациях имеет смысл их отсортировать по размеру. Для этого после пути до директории в основной команде нужно добавить | sort -rh:

sudo du -ah /home/root-user/Downloads | sort -rh

Выводы

В статье мы вкратце рассказали о том, как посмотреть размер папки в Linux и ее вложений с помощью утилиты du. Заодно упомянули возможность сортировки и другие важные нюансы. А если вам интересны еще сценарии использования du в терминале Linux, то ознакомьтесь с данной статьей. Там подробно разобран ее синтаксис, доступные опции и конкретные примеры.

Pеклама
Посмотреть детали

Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

12 комментариев к “Как посмотреть размер папки в Linux”

  1. zmeygo@Aspire-C22-820:~$ sudo du -h /home/root-user/Downloads
    [sudo] пароль для zmeygo:
    du: невозможно получить доступ к '/home/root-user/Downloads': Нет такого файла или каталога

    Ответить
  2. Ну так вы каталог пользователя укажите свой а не из примера.
    Если у вас пользователь zmeygo то путь соответственно будет /home/zmeygo/Downloads

    Ответить
  3. Конечно не возможно, так как пример команды приведён для юзверя root-user а. а вы пытаетесь выполнить команду под узернойдом zmeygo. измените путь к папке с учётом пользователя, под которым вы работаете.

    Ответить
  4. zmeygo@Aspire-C22-820:~$ sudo su
    [sudo] пароль для zmeygo:
    root@Aspire-C22-820:/home/zmeygo# sudo du -h /home/root-user/Downloads
    du: невозможно получить доступ к '/home/root-user/Downloads': Нет такого файла или каталога
    root@Aspire-C22-820:/home/zmeygo#

    Ответить
  5. Михаил, а где вы собственно хотите что-то найти? В каком каталоге? Может вам стоит, для начала, спросить самого себя что и где вы хотите найти? У вас есть пользователь root-user в домашнем каталоге которого вы собираетесь смотреть размер?

    Ответить
  6. Доброго всем!
    Может мне кто разъяснить, зачем мне здесь нужно sudo?
    В большинстве случаев можено использовать просто du -h , например, для уточнения размера .

    Ответить
    • Если каталог принадлежит текущему пользователю или у текущего пользователя есть права доступа к этому каталогу, то не нужно. Если нет - нужно, иначе будет ошибка "Отказано в доступе".

      Ответить
  7. Когда искал кто скушал все место на накопителе помогла команда показывающая вес всех папок - переходим например в корень
    cd /
    и смотрим кто сколько занял
    du -hd1

    Ответить
  8. А теперь вопрос на засыпку: как вывести реальный, а не занимаемый размер папки с файлами. В винде пкм на папке и получишь реальный размер, в линуксах ты получишь размер, занимаемый на диске, который на практике никому не упёрся к сведению. Если у меня в папке 50 каталогов, а в них 500 пустых файлов, то в показаниях линя будет 2,2 Мб, а в винде 0. И как же в лине узнать реальный размер папки с файлами? Для чего нужно - для поиска, в какой папке есть значимая инфа, т.е. файл с размером в килобайты-десяток, а не 100500 пустых фалов.

    Ответить

Оставьте комментарий