Как узнать размер каталога в Linux

Всем привет в этой статье я расскажу как узнать размер каталога в Linux. При использовании команды ls для просмотра содержимого каталога, вероятно вы обратили внимание, что размеры каталогов часто равны 4096 байт (4 КБ). Это размер места на диске, которое используется для хранения метаинформации о каталоге, а не то, что он содержит.

Если вам требуется получить фактический размер каталога, тогда вам надо воспользоваться командой du. Данная команда означает «disk usage» (использование диска).

Узнать размер каталога в Linux

Команда du  отображает объем файлового пространства, используемого указанными файлами или каталогами. Если указанный путь является каталогом, тогда du суммирует использование дискового пространства каждого подкаталога в этом каталоге. Если путь не указан, du сообщает об использовании дискового пространства текущего рабочего каталога.

При вызове без опций команда du отображает использование диска заданного каталога и его подкаталогов в байтах.

Чтобы удобно отобразить пространство, занимаемое каталогом, обычно требуется использовать читаемый формат. Например, чтобы получить общий размер каталога /usr, выполните следующую команду.

sudo du -sh /usr

Ответ в терминале будет примерно следующий.

Проверка размера каталога usr в Linux
Проверка размера каталога usr в Linux

Рассмотрим выполненную команду du и ее параметры для более подробного объяснения.

  • При выполнении данной команды требуется использовать sudo. Так как большинство файлов и каталогов в Linux принадлежат пользователю root. Соответственно эти файлы не доступны для чтения обычным пользователям. Если вы не добавите sudo, то команда du выдаст сообщение «du: cannot read directory«.
  • При использовании опции «s» команда du будет выводить только общий размер указанного каталога, не включая суммарный размер файлов внутри подкаталогов.
  • А при использовании параметра «h» команда du будет выводить размеры в человекочитаемом формате.
  • /usr — Это директория, для которой вы хотите получить размер.

Посмотреть использование диска для подкаталогов первого уровня

Если вдруг вы хотите посмотреть использование диска для подкаталогов первого уровня, тогда у вас есть пара варианта. Первый вариант — это использовать символ звездочки (*), как показано ниже. Это означает «соответствует всему, кроме файлов и каталогов, начинающихся с точки (.)«. Параметр -c указывает команде du вывести общий итог всех размеров.

sudo du -shc /usr/*

Вы увидите при мерно такой ответ.

Посмотреть использование диска для подкаталогов первого уровня
Посмотреть использование диска для подкаталогов первого уровня.

Второй способ получить отчет об использовании диска для подкаталогов первого уровня это использовать опцию —max-depth.

sudo du -h --max-depth=1 /usr

Второй способ узнать размер для подкаталогов первого уровня
Второй способ узнать размер для подкаталогов первого уровня

По умолчанию команда du отображает использование дискового пространства каталога или файла. Если вам требуется узнать видимый размер каталога, тогда вы можете использовать параметр --apparent-size. Видимый размер файла показывает, сколько данных фактически содержится в файле.

sudo du -sh --apparent-size /usr

Когда вы передаете папку (каталог) через SCP, Rsync или SFTP, тогда объем данных передаваемых по сети является видимым размером файлов. Поэтому размер пространства на диске, используемого на источнике и отображаемого командой du (без --apparent-size), может не совпадать с размером в системе.

Команду du можно комбинировать с другими командами. Можно например отобразить 5 самых больших каталогов внутри папки /usr. Также можно передать вывод команды du в команду sort. Это действие отсортирует папки по их размеру, а затем передать вывод в команду head, которая покажет только 5 толстых папок.

sudo du -h /usr/ | sort -rh | head -5

Вот такой ответ терминала мы получим при объединение с командой du.

Объединение других команд с командой du
Объединение других команд с командой du

Заключение

В заключение, команда du в Linux позволяет узнать размер каталога. Это полезная утилита для определения объема занимаемых файлами и каталогами. Вы можете использовать различные опции такие как -s, -h, --max-depth и --apparent-size. Данные параметры помогут вам получить необходимую информацию о размере каталога в удобочитаемом формате. Если у вас возникнут вопросы или замечания, не стесняйтесь спрашивать в комментариях. Мы с удовольствием поможем вам.

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

Отправляя комментарий, вы даете согласие на обработку ваших данных в соответствии с политикой конфиденциальности и даёте согласие на их использование.