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

Когда вы управляетесь с файлами и папками на Linux, очень часто возникает вопрос: «Сколько занимает конкретный каталог на диске?» Этот вопрос особенно актуален при необходимости очистки места, поиска крупных папок или просто для мониторинга использования ресурсов системы.

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

Почему важно знать размер каталога?

Понимание размеров папок помогает:

  • Определить, какие папки занимают на диске больше всего пространства.
  • Планировать освободительные меры — удаление ненужных или временных файлов.
  • Анализировать большие проекты или каталоги веб-сайтов.
  • Оптимизировать работу системы, не тратя время на ручной поиск.

Как определить размер каталога в Linux?

Общий ответ на этот вопрос — использовать команду du, но есть нюансы и альтернативные способы. Ниже подробнее рассмотрим несколько методов.

Метод 1: использование команды du с ключами

Самый распространенный способ узнать размер каталога — команда du с правильными аргументами. Вот наиболее эффективный вариант:

du -sh /путь/к/каталогу

Что означает:

-s (summary) — выводит только итоговую сумму, без разбивки по подпапкам.

-h (human-readable) — показывает размер в понятных единицах (Кб, Мб, Гб).

Пример:

waky@ubuntu:~$ du -sh /usr/bin
245M    /usr/bin
waky@ubuntu:~$

Исходя из вывода, видим, что каталог /usr/bin занимает 245 Мб.

Метод 2: сбор статистики по вложениям

Если нужно понять, какие подпапки занимают больше всего места внутри каталога:

du -sh /путь/к/каталогу/*

Это покажет размеры каждого элемента внутри каталога:

waky@ubuntu:~$ du -sh  /usr/bin/*
20K     /usr/bin/aa-enabled
20K     /usr/bin/aa-exec
20K     /usr/bin/aa-features-abi
60K     /usr/bin/ab
...
4.0K    /usr/bin/zstdgrep
4.0K    /usr/bin/zstdless
0       /usr/bin/zstdmt
waky@ubuntu:~$

Метод 3: через du и фильтрацию

Для поиска крупных подкаталогов или файлов применим к выводу команду sort и команду head:

du -ah /путь/к/каталогу | sort -rh | head -n 10

Здесь происходит:

-a — показывать также файлы.

sort -rh — сортировка по размеру по убыванию с учетом человекочитаемых единиц.

head -n 10 — вывод топ-10 самых больших элементов.

Это очень удобно для быстрого выявления наиболее тяжелых объектов:

waky@ubuntu:~$ du -ah /usr/bin/ | sort -rh | head -n 10
245M    /usr/bin/
18M     /usr/bin/snap
7.7M    /usr/bin/python3.12
5.6M    /usr/bin/php8.3
5.6M    /usr/bin/aria_chk
5.5M    /usr/bin/aria_read_log
5.4M    /usr/bin/aria_pack
5.4M    /usr/bin/aria_ftdump
5.4M    /usr/bin/aria_dump_log
5.2M    /usr/bin/mariadb-binlog
waky@ubuntu:~$

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

Заключение

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