Table of Contents
du (Disk Usage) — утилита для анализа использования дискового пространства файлами и директориями.
Позволяет увидеть, сколько места занимают каталоги, файлы и поддиректории.
📝 Топ‑20 полезных флагов du#
-h— читаемый формат размеров (KB, MB, GB).-a— показать размер каждого файла.-s— показать только общий итог.-c— добавить строку с общим размером.-d <N>— глубина рекурсии в поддиректории.--max-depth=<N>— аналогично-d.-S— не учитывать поддиректории в расчёте.-b— размеры в байтах.-k— размеры в килобайтах.-m— размеры в мегабайтах.-B <SIZE>— указать кастомный размер блока.--apparent-size— показывать “логический” размер файла.--time— показать время последнего изменения.--time-style=long-iso— формат временных меток ISO.--exclude=<PATTERN>— исключить файлы/папки по шаблону.--inodes— показать использование inode.--si— использовать степени 1000 вместо 1024.--total— вывести общий итог использования.--all— показать все файлы и каталоги.--help— полный список опций.
🚀 Айсберг команд du — от базового к гуру#
🟢 Уровень 1 — База (разогрев)#
du
- Показать использование текущей директории
du -h
- Читаемый формат (MB, GB)
du -sh
- Общий размер текущей директории
du -sh /var/log
- Посмотреть размер директории
/var/log
du -ah
- Показать размер всех файлов и директорий
🟡 Уровень 2 — Ограничение глубины рекурсии#
du -h --max-depth=1
- Размер текущей директории и её подкаталогов (1 уровень)
du -h --max-depth=2
- Два уровня вложенности
du -d 1 -h /home
- То же самое для
/home
du -sh /etc/*
- Размер всех папок внутри
/etc
du -h --max-depth=1 /var | sort -h
- Сортировка папок по размеру
🟠 Уровень 3 — Фильтрация и сортировка#
du -ah | sort -h
- Отсортировать все файлы и папки по размеру
du -ah /var | grep log
- Найти все файлы с “log” в пути
du -sh * | sort -hr
- Сортировка папок/файлов по убыванию
du -h --exclude="*.log"
- Исключить
.log-файлы
du -ah --time
- Показать размер + дату последнего изменения
🔵 Уровень 4 — Анализ inode и блоков#
du --inodes -h
- Показать использование inode
du -b
- Размеры в байтах
du -k
- Размеры в килобайтах
du -m
- Размеры в мегабайтах
du -B 1M
- Установить единицу измерения в МБ
🟣 Уровень 5 — Сводки и отчёты#
du -ch
- Общий итог + читаемый формат
du -sh --apparent-size *
- Использовать логический размер вместо физического
du --total -sh /var/log /home
- Суммарный размер указанных директорий
du -h --time --max-depth=1
- Добавить временные метки
du -ch --exclude="*.tmp"
- Пропустить временные файлы
🔴 Уровень 6 — Гуру‑режим#
du -ah / | sort -rh | head -n 20
- Топ-20 самых больших файлов и папок
du -xh / | sort -rh | head -n 30
- Игнорировать другие файловые системы (
-x)
du --apparent-size -ah / | sort -rh | head
- Смотреть логический размер, а не реальный
find /var -type f -size +100M -exec du -h {} + | sort -rh
- Найти файлы >100МБ и отсортировать
du -ch --exclude="/proc/*" --exclude="/sys/*"
- Исключить виртуальные ФС
🟤 Уровень 7 — Интеграция с другими инструментами#
du -sh * | sort -hr | head
- Топ-10 самых тяжёлых директорий
du -ah | grep "\.log" | sort -rh | head
- Найти самые большие
.log-файлы
du -sh $(ls /var/log/)
- Посмотреть размеры всех файлов в
/var/log
du -sh /var/* | sort -hr
- Топ самых тяжёлых папок в
/var
watch -n 2 "du -sh /var/log/* | sort -rh | head -n 10"
- Мониторинг логов в реальном времени
🧩 Бонус — практические сценарии#
Быстро посмотреть размер текущей директории:
du -sh
Топ-20 самых больших файлов в системе:
du -ah / | sort -rh | head -n 20
Вывести размеры всех подпапок, отсортированных по убыванию:
du -sh * | sort -rh
Проверить использование inode:
du --inodes -h /
Исключить ненужные директории из анализа:
du -ch --exclude="/proc/*" --exclude="/sys/*"