Введение
Дефицит свободного пространства на сервере под управлением Linux — типичная нештатная ситуация, требующая мгновенной локализации каталогов и файлов, утилизирующих основной накопитель. Вместо долгого чтения страниц руководства man разберем практические приемы работы с утилитой du: от элементарного синтаксиса до профессиональных сценариев администрирования.
1. Подготовка стенда и базовый запуск утилиты du
Сформируем тестовую иерархию папок с объектами заданного объема, выполнив конструкцию: mkdir -p /tmp/du_demo/logs /tmp/du_demo/backup && truncate -s 10M /tmp/du_demo/backup/data.bin && truncate -s 5M /tmp/du_demo/logs/app.log.

Функционал du (disk usage) предназначен для вычисления физического объема дисковых блоков (по умолчанию равных 1024 байтам), занятых указанным каталогом и его внутренним содержимым.
При вызове без дополнительных флагов команда последовательно перечислит все дочерние пути вместе с числовым значением выделенной памяти.
⚙️ [Ключевые аргументы]
-h : форматирование вывода в привычных человеку величинах (Кб, Мб, Гб).-a : включение в отчет не только директорий, но и всех отдельных файлов.-s : вывод итогового сводного объема без детализации вложенных путей.-d : ограничение глубины обхода подкаталогов заданным уровнем (depth).-c : добавление финальной строки с суммарным объемом всех обработанных сущностей.-b : отображение видимого размера данных (apparent size) в байтах вместо фактического выделения блоков на накопителе.

Активация флага -h (--human-readable) пересчитывает «сухие» блоки в удобочитаемые единицы (K, M, G).
Такой формат представления данных существенно ускоряет визуальную оценку потребления дисковых ресурсов.

2. Управление уровнем вложенности и агрегация результатов (-d, -s, -c)
Создадим разветвленную файловую структуру для проверки лимитов глубины обхода с помощью команды mkdir -p /tmp/du_demo/nested/level1/level2 && truncate -s 2M /tmp/du_demo/nested/level1/level2/dummy.bin.

Параметр -d 1 (--max-depth=1) сужает область сканирования ровно до первого уровня дочерних папок относительно целевой точки входа.
Это избавляет вывод от бесконечного списка вложенных поддиректорий и дает наглядный срез по корневым разделам.

Если требуется узнать исключительно совокупный объем целевой директории без какого-либо перечисления подпапок, применяется аргумент -s (--summarize).
В связке с -h администратор моментально получает компактную однострочную сводку.

Ключ -c (--total) завершает перечисление директорий контрольной строкой общего итога (total).
Такой подход удобен, когда нужно одновременно сопоставить вес каждого компонента и зафиксировать общий объем всей группы.

3. Детализация до файлов и фильтрация по маске (-a, –exclude)
Подготовим временные файлы с расширением .tmp для демонстрации механизма исключений: touch /tmp/du_demo/temp1.tmp /tmp/du_demo/temp2.tmp.

Флаг -a (--all) переводит утилиту в режим сплошного анализа, при котором в отчет попадают абсолютно все вложенные файлы, а не только структуры каталогов.
Комбинируя его с параметром -h, можно досконально изучить распределение памяти внутри /tmp/du_demo/logs.

Директива --exclude позволяет отсечь из расчетов элементы, подпадающие под заданную маску.
Сконфигурировав --exclude='*.tmp', мы отфильтровываем временный мусор и получаем объективную оценку размера постоянных данных.

4. Практические конвейеры: сортировка и выявление “пожирателей” места
Сгенерируем массивные объекты для отработки сценариев поиска ресурсоемких файлов: truncate -s 50M /tmp/du_demo/backup/big.tar && truncate -s 20M /tmp/du_demo/logs/access.log.

Перенаправив поток du -h -d 1 /tmp/du_demo через пайплайн (|) на вход sort -hr, мы ранжируем каталоги первого уровня по убыванию занимаемого объема.
Этот прием сразу подсвечивает папки, выступающие главными потребителями дискового пространства.

Связка du -ah /tmp/du_demo со ступенчатой сортировкой sort -hr и утилитой head -n 5 формирует компактный рейтинг топ-5 самых увесистых файлов и разделов.
С помощью такой цепочки системный инженер в считанные секунды обнаруживает разросшиеся логи или забытые архивы.

Завершив практические эксперименты, очистим файловую систему от временных данных командой rm -rf /tmp/du_demo.

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