du — Утилита для оценки использования файлового пространства
GNU du — инструмент для оценки и обобщения использования дискового пространства файлами и каталогами.
По умолчанию `du` показывает фактически занятую площадь на диске. Если нужно увидеть логический размер (как записано в файловой таблице), используйте опцию `–apparent-size`.
Местонахождение: `/usr/bin/du`
Основные команды
Команда | Описание | ||
---|---|---|---|
du -sh | Вывести общий размер текущего каталога в удобочитаемом формате | ||
du -h path/to/directory | Показать размеры каталога и подкаталогов с автоматическим выбором единиц измерения | ||
du -ah path/to/directory | Показать размеры всех файлов и каталогов внутри указанного каталога | ||
du -chs ~/Desktop ~/Pictures ~/Videos | Вывести размеры указанных каталогов и суммарный итог | ||
du -chs ~/{Desktop,Pictures,Videos} | То же самое, что и выше, но с использованием фигурных скобок | ||
du -ch */*.jpg | Вывести размеры всех .jpg файлов в подкаталогах и общий итог | ||
du -sk * | sort -rn | Отсортировать каталоги/файлы по размеру (в килобайтах) по убыванию | |
du -sh | Показать суммарный размер текущего каталога | ||
du -shL | Показать суммарный размер каталога с учётом символических ссылок | ||
du -sh * | sort -rh | Отсортировать каталоги/файлы по размеру в человекочитаемом формате | |
du -h –apparent-size | Показывать видимый размер файлов (разрежённые файлы отобразятся полностью) | ||
du -b | k | m path/to/directory | Вывести размеры в байтах (B), кибибайтах (KiB) или мебибайтах (MiB) |
du -h –max-depth=N path/to/directory | Показать размеры до N уровней вложенности |
Поиск самых больших файлов и папок
Чтобы вывести список 20 самых больших файлов и папок в текущем каталоге:
du -ma | sort -nr | head -n 20
Или для просмотра крупнейших объектов на всей файловой системе:
du -xh / | sort -rhk 1 | head -n 20
Объяснение параметров:
- -x — ограничить анализ одной файловой системой (важно при расчёте места на отдельных разделах).
- sort:
- -k 1 — сортировка по первому столбцу (размеры).
- -r — обратная сортировка (от большего к меньшему).
- -h — сортировка с учётом единиц измерения (человекочитаемый формат).
- head -n 20 — вывести только первые 20 строк.
Полезные замечания
- Используйте `-h` для удобства восприятия (`KiB`, `MiB`).
- Комбинация `du` и `sort` позволяет легко найти, какие файлы или каталоги занимают много места.
- Для анализа отдельных разделов обязательно используйте `-x`, чтобы не выходить за рамки нужной файловой системы.
Примеры использования
Получение размера каталога
Вывести общий размер текущего каталога в человекочитаемом формате:
du -sh
Вывести размеры всех подкаталогов и файлов в указанной директории:
du -ah /path/to/directory
Сортировка по размеру
Отсортировать файлы и каталоги по убыванию их размера:
du -sh * | sort -rh
Просмотр размеров файлов определённого типа
Показать размеры всех `.jpg` файлов в подкаталогах:
du -ch */*.jpg
Ограничение глубины обхода
Показать размеры подкаталогов только первого уровня вложенности:
du -h --max-depth=1 /path/to/directory
Работа с несколькими каталогами
Посчитать размеры нескольких каталогов и вывести суммарный итог:
du -chs ~/Desktop ~/Documents ~/Videos
Или с использованием фигурных скобок:
du -chs ~/{Desktop,Documents,Videos}
Поиск самых больших файлов и папок
Показать 20 самых крупных объектов в текущем каталоге:
du -ma | sort -nr | head -n 20
Аналогичная команда для всей файловой системы:
du -xh / | sort -rhk 1 | head -n 20
Оценка видимого размера файлов
Показать "логический" размер файлов вместо фактического занятого места на диске:
du -h --apparent-size /path/to/file
Определение размеров в конкретных единицах
Вывести размеры в байтах, кибибайтах или мебибайтах:
du -b /path/to/directory du -k /path/to/directory du -m /path/to/directory