Когда вы управляетесь с файлами и папками на Linux, очень часто возникает вопрос: «Сколько занимает конкретный каталог на диске?» Этот вопрос особенно актуален при необходимости очистки места, поиска крупных папок или просто для мониторинга использования ресурсов системы.
В этой статье я расскажу, как точно определить размер любого каталога в Linux, используя разные подходы и инструменты, чтобы вы могли легко получить необходимую информацию.
Почему важно знать размер каталога?
Понимание размеров папок помогает:
- Определить, какие папки занимают на диске больше всего пространства.
- Планировать освободительные меры — удаление ненужных или временных файлов.
- Анализировать большие проекты или каталоги веб-сайтов.
- Оптимизировать работу системы, не тратя время на ручной поиск.
Как определить размер каталога в Linux?
- Метод 1: использование команды du с ключами
- Метод 2: сбор статистики по вложениям
- Метод 3: через du и фильтрацию
Общий ответ на этот вопрос — использовать команду 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, дополненная нужными опциями.