Команда du (disk usage) позволяет узнать размер папки и её содержимого в Linux за несколько секунд. Это встроенный инструмент, который есть на любой системе и не требует установки дополнительного ПО. Для быстрого результата выполните du -sh /путь/к/папке в терминале.
Зачем это нужно
- Определить, какие папки занимают больше всего места на диске
- Контролировать объём используемого дискового пространства при администрировании сервера
- Найти причину заполнения жёсткого диска и освободить место
- Проанализировать структуру данных и выявить ненужные файлы
- Планировать расширение хранилища или оптимизацию системы
Пошаговая инструкция
- Откройте терминал (нажмите
Ctrl+Alt+Tили найдите приложение Terminal в меню). - Введите команду для просмотра размера конкретной папки:
du -sh /home/username/Documents - Нажмите
Enterи дождитесь результата (система выведет размер в читаемом формате: KB, MB, GB). - Для просмотра размера всех подпапок внутри директории используйте:
du -sh /home/username/Documents/* - Чтобы вывести содержимое в отсортированном виде (от большего к меньшему), выполните:
du -sh /home/username/Documents/* | sort -hr - Для анализа размера текущей папки без указания пути введите:
du -sh . - Если нужна детализированная таблица всех файлов, используйте флаг без
-h:du -s /home/username/Documents/*(результат в байтах). - Для получения информации с подробным деревом директорий выполните:
du -a /home/username/Documents | sort -nr | head -20(выведет топ-20 крупных объектов).
Расшифровка основных флагов команды du
-s(summary) — вывести только итоговый размер папки без отдельного списка содержимого-h(human-readable) — показать размер в удобном формате (K, M, G вместо байтов)-a(all) — вывести размер каждого файла и папки, а не только итог-c(total) — добавить строку с общим размером в конце списка-d N(depth) — ограничить глубину анализа N уровнями (например,-d 1покажет только прямые подпапки)-r(reverse) — отсортировать в обратном порядке (от меньшего к большему)
Практические примеры команд
- Размер папки /var:
du -sh /var - Размеры всех подпапок в /home с сортировкой:
du -sh /home/* | sort -hr - Топ-10 крупных объектов в системе:
du -ah / 2>/dev/null | sort -rh | head -10 - Размер только на глубину 2 уровня:
du -sh -d 2 /home - Сравнение размеров двух папок:
du -sh /папка1 /папка2
Часто задаваемые вопросы
Почему команда долго работает или выводит "Permission denied"? Это означает, что у пользователя нет прав на чтение некоторых файлов; используйте sudo du -sh /путь, но будьте осторожны с root-правами.
Как узнать размер файла, а не папки? Используйте команду ls -lh /путь/к/файлу для отображения размера отдельного файла в читаемом формате.
Какая разница между du и df? Команда du показывает размер файлов и папок, а df — свободное и занятое место на всех разделах диска.