Как узнать размер каталога в 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. Данные параметры помогут вам получить необходимую информацию о размере каталога в удобочитаемом формате. Если у вас возникнут вопросы или замечания, не стесняйтесь спрашивать в комментариях. Мы с удовольствием поможем вам.

Понравилась статья?

Помогите Setiwik.ru создавать больше глубоких обзоров и новостей. Один клик и ваш вклад помогает держать серверы включёнными и авторов мотивированными!

Спасибо, что вы с нами!

Nazario

Я Назар. Уже больше десяти лет я работаю с Linux и Windows системами каждый день. Это моя основная профессия и большая часть жизни.
Всё, что ты читаешь на Setiwik.ru, начинается с официальной документации, мануалов и технических спецификаций. Я их изучаю очень внимательно. Но ценность статей появляется именно тогда, когда я беру эту базу и пропускаю через десятки реальных ситуаций: ночные аварии, странные баги, которые не гуглятся с первого раза, выстраданные конфиги и проверенные обходные пути.
Я не обещаю истину в последней инстанции. Но если мой опыт поможет тебе сэкономить хотя бы пару часов нервов и перезагрузок, значит всё это было не зря. Здесь только практика: от тонкой настройки серверов до самых неожиданных ситуаций, которые официальные руководства обычно обходят стороной.
Setiwik.ru это место, где IT становится понятнее и спокойнее. Заходи почаще. Будем разбираться вместе.

Практические инструкции по Windows и Linux
Добавить комментарий