ncdu — как найти большие файлы и освободить место в Linux

ncdu — простой текстовый инструмент для поиска больших директорий и файлов в Linux. Запустите ncdu /, чтобы просканировать корень, используйте -x, чтобы не уходить на другие файловые системы, и сохраняйте результаты в файл с -o для последующего анализа.
Краткое содержание
- ncdu показывает использование диска в полноэкранном интерфейсе на базе ncurses.
- Запуск ncdu в каталоге отображает отсортированный список поддиректорий по размеру.
- Ключи управления: стрелки, j/k, Enter, d (удалить), c (количество элементов), g (граф/процент), M (по времени).
Что такое ncdu?
ncdu — это утилита для поиска больших директорий и файлов в терминале. Название расшифровывается как “Ncurses Disk Usage”. В отличие от обычной утилиты du, ncdu предоставляет интерактивный полноэкранный интерфейс на базе библиотеки ncurses. Это удобно, когда нужно быстро найти объекты, занимающие много места, и удалить их прямо из интерфейса.
Коротко: ncdu сканирует дерево каталогов и показывает результат в удобном, интерактивном виде.
Установка ncdu
Установить ncdu можно через менеджер пакетов вашей дистрибуции. На Debian/Ubuntu используйте команду:
sudo apt install ncdu
Утилита доступна в репозиториях большинства популярных дистрибуций. Если пакет отсутствует, можно скачать исходники или двоичные сборки с сайта автора, но предпочтительнее использовать системные пакеты — так проще обновлять.
Поиск самых больших директорий
Чтобы найти объекты, занимающие много места, запустите ncdu в нужном каталоге. По умолчанию ncdu начнёт сканирование текущего каталога:
ncdu
Чтобы просканировать корневой каталог, укажите путь:
ncdu /

Команда просканирует дерево и отобразит отсортированный список. Первые строки — самые “тяжёлые” директории. Вы можете перемещаться по дереву, чтобы найти конкретные большие файлы.
Полезный флаг: -x — не выходить на другие файловые системы. Это актуально, если в вашей системе есть смонтированные точки (например, /mnt или WSL-монтирования). Пример:
ncdu -x /
Сканирование большого диска займёт время. Чем больше файлов и вложенных каталогов, тем дольше будет длиться анализ.
Интерфейс и сортировка
После завершения сканирования вы увидите список директорий и файлов, отсортированных по размеру по умолчанию. Основные клавиши:
- Стрелки вверх/вниз или j/k — перемещение по списку.
- Enter или стрелка вправо — войти в выделенную директорию.
- Стрелка влево, < или h — подняться на уровень выше.
- n — сортировать по имени.
- s — сортировать по размеру (по умолчанию).
- C — сортировать по числу элементов.
- M — сортировать по времени модификации.
- d — удалить файл или директорию.
- c — показать/скрыть количество элементов в поддиректориях.
- g — переключать отображение графа и процентов.



Вы можете удалять файлы прямо из интерфейса при помощи клавиши d, но будьте осторожны: удаление необратимо с учёта прав пользователя.
Навигация и запуск команд
- Для навигации используйте привычные клавиши. Если вы предпочитаете Vim-стиль, j и k работают так же, как стрелки.
- Чтобы открыть оболочку в текущей директории, нажмите ! (в некоторых версиях) или используйте сочетание, предлагаемое интерфейсом, и выполните нужные команды. По завершении вернитесь в ncdu через Ctrl+D или команду exit.
Дополнительные опции
ncdu поддерживает ряд флагов для тонкой настройки сканирования:
- -x или –one-file-system — не переходить в другие монтированные файловые системы.
- -L или –follow-symlinks — следовать символическим ссылкам и учитывать их содержимое.
- –no-follow-symlinks — не следовать символическим ссылкам.
- –cross-file-system — явно разрешить переход между файловыми системами.
- –exclude PATTERN — исключить файлы или каталоги, соответствующие шаблону.
- -o FILE — сохранить результаты в файл. Сканирование продолжится в фоне, а затем вы вернётесь в shell.
- -f FILE — открыть сохранённый файл результатов.
- -h — краткая справка по опциям.
Пример сохранения результата полного сканирования:
ncdu / -o file
После завершения сканирования вы можете просмотреть сохранённый отчёт:
ncdu -f file
Если вам нужно больше справки, нажмите ? в интерфейсе ncdu или прочитайте man-страницу: man ncdu.
Когда ncdu не поможет
- Если нужно детально отследить использование по inode или по блочным устройствам, используйте специализированные инструменты (например, debugfs для EXT-файловых систем).
- Для постоянного мониторинга на сервере в реальном времени лучше подойдёт системный сборщик метрик (Prometheus + node_exporter) с графиком места на диске.
- ncdu не предназначен для анализа удалённых сетевых ресурсов без монтирования; сначала смонтируйте ресурс через NFS/SSHFS.
- На очень больших файловых системах сканирование может занять длительное время и потребовать большого количества I/O.
Альтернативные подходы
- du + sort + head — классическая командная строка для сканирования: du -sh * | sort -hr | head -n 20.
- ncdu — лучший выбор для интерактивного осмотра, а du — для скриптов и автоматизации.
- Графические инструменты: Baobab (Disk Usage Analyzer) для GNOME, Filelight для KDE.
- Инструменты для постоянного мониторинга: Prometheus/Graphite + экспортеры.
Методология быстрого аудита диска (мини-метод)
- Запустите подготовительный скан: ncdu -x / — чтобы не заходить в чужие FS.
- Обратите внимание на top-10 директорий. Запишите пути.
- Перейдите внутрь каждой крупной директории и найдите отдельные крупные файлы.
- Для временных и лог-файлов проверьте ротацию логов (logrotate) и права доступа.
- При необходимости сохраните отчёт: ncdu -o audit-YYYYMMDD.
- Поместите найденные кандидаты на удаление в отдельный список, согласуйте с владельцами и выполните безопасное удаление.
Чек‑лист по ролям
Администратор:
- Запустить ncdu с правами, достаточными для просмотра всех системных директорий.
- Исключить точки монтирования, если нужно: –exclude /proc –exclude /sys.
- Сохранить отчёт и архивировать.
Разработчик / пользователь:
- Проверить домашнюю директорию: ncdu ~
- Найти большие кеши, логи, временные файлы.
Поддержка / DevOps:
- Интегрировать регулярные проверки в документацию инцидентов.
- Настроить оповещения по заполнению диска.
Критерии приёмки
- Выполнено сканирование целевого каталога без перехода на другие FS (если задан -x).
- Идентифицированы топ-10 директорий по использованию диска.
- Для потенциально удаляемых файлов получено подтверждение владельцев.
- Отчёт сохранён и задеплоен в систему учёта инцидентов.
Шпаргалка команд и примеры
- Быстрый интерактивный просмотр текущего каталога:
ncdu- Просканировать корень, не переходя на другие FS:
ncdu -x /- Сохранить результат в файл для ревью:
ncdu / -o /tmp/ncdu-audit- Открыть сохранённый результат:
ncdu -f /tmp/ncdu-audit- Следовать символическим ссылкам при сканировании:
ncdu -L /path- Исключить каталоги по шаблону:
ncdu --exclude '/proc' --exclude '/sys' /Глоссарий
- ncurses — библиотека для создания текстовых интерфейсов в терминале.
- du — Unix-утилита для оценки использования диска по каталогам.
- mnt — обычная точка монтирования внешних или других файловых систем.
Советы по безопасности и приватности
- Запуск ncdu с правами root даст полный обзор, но будьте внимательны при удалении: root может стереть критичные системные файлы.
- Не открывайте сохранённые отчёты на машинах, к которым имеют доступ посторонние. Отчёты содержат пути и размеры файлов, которые могут раскрыть чувствительную информацию.
Когда и как автоматизировать
- Для автоматизированной периодической проверки можно запускать ncdu с –exclude и -o в cron, затем анализировать результаты скриптом.
- Помните, что полное сканирование больших файловых систем в cron может влиять на производительность. Планируйте окна обслуживания или используйте ограничения I/O.
Резюме
ncdu — эффективный инструмент для быстрого интерактивного поиска крупных директорий и файлов в Linux. Он проще для человека, чем du в чистом виде, и удобен для ад‑hoc аудитов дискового пространства. Используйте флаги -x, -L, –exclude и возможности сохранения отчётов для гибкой работы.
Важно
Всегда проверяйте владельца и назначение файлов перед удалением. Сохраняйте отчёты и согласовывайте действия с командой, если работаете на сервере с несколькими пользователями.
Примечание
Если вам нужен постоянный мониторинг или аналитика с графиками, рассмотрите интеграцию с системами мониторинга, а для одноразовой интерактивной диагностики — ncdu остаётся отличным выбором.