← Назад к вопросам

Как посмотреть размер папки на диске

1.3 Junior🔥 221 комментариев
#Linux и администрирование

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Анализ использования диска: методы определения размера папки в Linux/Unix

Для определения размера папки на диске в Linux/Unix-системах используются команды, которые анализируют inode (структуру метаданных файла) и подсчитывают занимаемое пространство. Основной инструмент — утилита du (disk usage). Однако, в зависимости от задачи, могут применяться разные подходы.

Основной метод: команда du

Команда du оценивает использование диска, суммируя размеры всех файлов в папке с учётом их физического расположения на диске (блоки). Базовый синтаксис:

du [опции] [путь_к_папке]

Ключевые опции и примеры:

  1. Базовый вывод в человекочитаемом формате (автоматический подбор единиц: K, M, G):

    du -h /var/log
    

    Примечание: -h (human-readable) — одна из самых часто используемых опций.

  2. Показать суммарный размер папки без детализации по подпапкам:

    du -sh /home/user/projects
    

    Где -s (summarize) выводит только общий итог, а -h делает его читаемым. Это самый быстрый способ получить ответ "сколько весит эта папка".

  3. Глубина сканирования (ограничить вывод N уровнями вложенности):

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

    Это покажет размеры всех папок непосредственно внутри /usr, не углубляясь дальше.

  4. Исключение определённых шаблонов или файловых систем:

    du -sh --exclude='*.cache' /home/user
    du -shx /  # исключает подсчёт в других файловых системах (mount points)
    
  5. Сортировка вывода по размеру (полезно для поиска "тяжёлых" папок):

    du -h /var | sort -hr | head -20
    

    Здесь sort -hr сортирует человекочитаемые числа по убыванию.

Альтернативы и продвинутые сценарии

  1. Использование ncdu (NCurses Disk Usage) — интерактивная TUI-утилита:

    ncdu /path/to/directory
    

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

  2. Скрипт для детального анализа (например, топ-10 самых больших файлов в папке):

    find /путь/к/папке -type f -exec du -h {} + | sort -rh | head -10
    
  3. Учёт "логического" размера vs "размера на диске":

    • du по умолчанию показывает размер на диске с учётом размера блоков файловой системы (например, маленький файл может занимать 4КБ из-за размера блока).
    • Чтобы увидеть фактический (логический) размер файлов, можно использовать --apparent-size:
      du --apparent-size -sh /path
      
  4. Для GUI-окружений часто доступны инструменты вроде baobab (GNOME Disk Usage Analyzer) или qdirstat / k4dirstat. Они визуализируют данные в виде диаграмм.

Важные нюансы для DevOps-инженера

  • Символические ссылки: По умолчанию du не следует за символическими ссылками. Для их учёта используйте -L (dereference).
  • Права доступа: Если у процесса нет прав на чтение некоторых подпапок, du выведет ошибки. Для их подавления можно перенаправить stderr: du -sh /root 2>/dev/null.
  • Монтированные файловые системы: Опция -x предотвращает пересечение точек монтирования (например, не считает /proc или /mnt).
  • Производительность: На объёмных файловых системах или сетевых дисках (NFS) выполнение du может быть долгим. В таких случаях иногда эффективнее анализировать данные из df или использовать специализированные мониторинговые системы (например, Prometheus с экспортерами).

Пример полного рабочего процесса для поиска "что съело место":

# Шаг 1: Быстрая оценка на верхнем уровне
sudo du -h --max-depth=1 / 2>/dev/null | sort -hr

# Шаг 2: Углубление в проблемную директорию (например, /var)
sudo du -h --max-depth=2 /var 2>/dev/null | sort -hr | head -20

# Шаг 3: Детальный анализ с ncdu
sudo ncdu /var/lib

В сценариях автоматизации и мониторинга размеры папок часто отслеживаются через cron-задачи, которые запускают du и сохраняют метрики в системы сбора данных (например, InfluxDB или VictoriaMetrics). Это позволяет строить тренды и прогнозировать заполнение диска.

Как посмотреть размер папки на диске | PrepBro