Гид по технологиям

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

6 min read Linux Обновлено 12 Dec 2025
ncdu: найти большие файлы в Linux
ncdu: найти большие файлы в Linux

Жёсткий диск, подключённый к USB-адаптеру, лежит на деревянной поверхности.

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 /

Скриншот ncdu, запущенного для сканирования корневой директории Linux.

Команда просканирует дерево и отобразит отсортированный список. Первые строки — самые “тяжёлые” директории. Вы можете перемещаться по дереву, чтобы найти конкретные большие файлы.

Полезный флаг: -x — не выходить на другие файловые системы. Это актуально, если в вашей системе есть смонтированные точки (например, /mnt или WSL-монтирования). Пример:


ncdu -x /

Сканирование большого диска займёт время. Чем больше файлов и вложенных каталогов, тем дольше будет длиться анализ.

Интерфейс и сортировка

После завершения сканирования вы увидите список директорий и файлов, отсортированных по размеру по умолчанию. Основные клавиши:

  • Стрелки вверх/вниз или j/k — перемещение по списку.
  • Enter или стрелка вправо — войти в выделенную директорию.
  • Стрелка влево, < или h — подняться на уровень выше.
  • n — сортировать по имени.
  • s — сортировать по размеру (по умолчанию).
  • C — сортировать по числу элементов.
  • M — сортировать по времени модификации.
  • d — удалить файл или директорию.
  • c — показать/скрыть количество элементов в поддиректориях.
  • g — переключать отображение графа и процентов.

ncdu показывает сортировку по числу элементов в директориях.

ncdu показывает список, отсортированный по времени модификации директорий.

ncdu показывает процент и граф использования директорий.

Вы можете удалять файлы прямо из интерфейса при помощи клавиши 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 + экспортеры.

Методология быстрого аудита диска (мини-метод)

  1. Запустите подготовительный скан: ncdu -x / — чтобы не заходить в чужие FS.
  2. Обратите внимание на top-10 директорий. Запишите пути.
  3. Перейдите внутрь каждой крупной директории и найдите отдельные крупные файлы.
  4. Для временных и лог-файлов проверьте ротацию логов (logrotate) и права доступа.
  5. При необходимости сохраните отчёт: ncdu -o audit-YYYYMMDD.
  6. Поместите найденные кандидаты на удаление в отдельный список, согласуйте с владельцами и выполните безопасное удаление.

Чек‑лист по ролям

Администратор:

  • Запустить 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 остаётся отличным выбором.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Darktide: коды ошибок и их исправление
Игры

Darktide: коды ошибок и их исправление

Переменные GitLab CI: руководство
CI/CD

Переменные GitLab CI: руководство

Удалить локальные снимки Time Machine на Mac
macOS

Удалить локальные снимки Time Machine на Mac

Ошибка Fatal JavaScript invalid size 169220804 — решение
Разработка

Ошибка Fatal JavaScript invalid size 169220804 — решение

Как открыть Snipping Tool в Windows 11
Windows

Как открыть Snipping Tool в Windows 11

Pensela: аннотация скриншотов на Linux
Software

Pensela: аннотация скриншотов на Linux