ncdu

ncdu

Последняя версия: 2.6
Скачали: 6

NCurses Disk Usage, чаще запускаемая короткой командой ncdu, — терминальный анализатор занятого места на диске. Программа сканирует выбранный каталог, показывает дерево папок в текстовом интерфейсе и помогает быстро найти директории, файлы, кэши, архивы, логи и сборочные артефакты, которые занимают больше всего пространства. По назначению ncdu близка к стандартной команде du, но вместо длинного статического вывода даёт интерактивный экран: пользователь перемещается по списку, открывает вложенные каталоги, сортирует элементы, смотрит размер, переключает режим отображения и при необходимости удаляет выбранный объект прямо из интерфейса.

Главный сценарий программы — анализ дискового пространства Linux и других POSIX-like систем через терминал. Ncdu особенно полезна на VPS, выделенных серверах, рабочих Linux-станциях и машинах без графической оболочки. Когда раздел заполнился, а графический Disk Usage Analyzer недоступен, достаточно открыть SSH-сессию, перейти в нужный каталог или запустить анализ корня файловой системы с ограничением на один раздел. В результате администратор видит не просто итоговую цифру, а список директорий, отсортированный по объёму, с процентами и полосой относительного размера.

NCurses Disk Usage не пытается заменить файловый менеджер, систему резервного копирования или полноценный GUI-анализатор с treemap-картой. Это узкая программа для конкретной задачи: увидеть, где именно расходуется место, перейти к проблемному каталогу и принять решение — удалить файл, очистить кэш, перенести архив, проверить логи или исключить каталог из дальнейшего анализа. Такой формат важен для серверов, где установка графической оболочки не нужна, а передавать данные на сторонний сервис нельзя.

В интерфейсе нет ленточных панелей, вкладок и мастер-окон. Управление строится вокруг клавиатуры: up, down, j, k перемещают курсор; right, enter, l открывают выбранную директорию; left, , h возвращают на уровень выше; s сортирует по размеру; n сортирует по имени; d запускает удаление выбранного файла или каталога; ? открывает справку. Благодаря этому ncdu остаётся удобной даже в медленном SSH-подключении и на минимальной системе, где доступны только shell и терминал.

Краткая карточка программы

ПараметрЗначение
Полное названиеNCurses Disk Usage
Исполняемая командаncdu
Тип программытерминальный анализатор использования диска
Основной интерфейсtext-mode user interface на базе curses/ncurses
Основная задачапоиск каталогов и файлов, занимающих место на диске
Базовый принципсканирование дерева каталогов с последующей интерактивной навигацией
Близкий стандартный инструментdu
Поддерживаемые сценариилокальный терминал, SSH, сервер без GUI, рабочая станция Linux/macOS/BSD
Сортировкапо размеру, имени, количеству элементов, времени изменения в расширенном режиме
Действия внутри интерфейсаоткрытие каталогов, возврат на уровень выше, просмотр сведений, пересчёт, удаление, вызов shell
Режим безопасности-r, --disable-delete, --disable-shell, --confirm-delete
ЭкспортJSON через -o, binary export через -O
Импорт-f для просмотра ранее сохранённого результата
СжатиеZstandard для JSON-экспорта через -c, встроенное сжатие в binary export
ЛицензияMIT
РазработчикYorhel

Такой набор характеристик показывает позиционирование ncdu: это не чистильщик в стиле Wise Disk Cleaner, не универсальный набор системных утилит наподобие CCleaner и не файловый менеджер вроде Far Manager. Программа не решает задачу очистить всё автоматически. Она отвечает на другой вопрос: какие именно элементы файловой системы занимают место и где они находятся.

В обзоре ncdu важно отделять анализ от очистки. Программа показывает структуру занятого пространства и даёт ручной инструмент удаления, но не классифицирует файлы как безопасные или опасные. Кэш браузера, старый архив, лог приложения, каталог сборки проекта, Docker-слой, база данных и резервная копия могут выглядеть как крупные объекты, но решение об удалении зависит от контекста системы. Поэтому NCurses Disk Usage лучше воспринимать как точный навигатор по объёму данных, а не как автоматический оптимизатор.

Интерфейс NCurses Disk Usage

Интерфейс ncdu состоит из нескольких состояний: сканирование, итоговый список, окно информации, подтверждение удаления, справка и экран About. Программа работает в полноэкранном терминальном режиме. Вверху находится строка с подсказкой по навигации и текущим путём, в центре — список файлов и директорий, внизу — сводка по занимаемому месту, apparent size и количеству элементов. Официальные скриншоты сделаны с цветовой схемой --color=dark, поэтому на них видны цветные полосы, выделение текущей строки и яркие числовые значения.

После завершения анализа пользователь видит список элементов внутри просканированного каталога. Крупные директории находятся наверху при сортировке по размеру, рядом отображаются числовые значения и графическая полоса. Такая подача отличается от обычного du -h: вместо прокрутки сотен строк пользователь сразу выбирает самый большой каталог, нажимает enter и проваливается глубже по дереву.

Верхняя строка интерфейса напоминает основные действия: стрелки используются для навигации, ? открывает справку. Нижняя строка показывает суммарные значения для текущего уровня. В ней можно увидеть total disk usage, apparent size и items. Эти показатели помогают не путать физически занятое место на диске с видимым размером файлов: sparse-файлы, файловые системы с блоками, жёсткие ссылки и особенности хранения могут давать различия между disk usage и apparent size.

В списке ncdu могут появляться специальные флаги перед элементами. ! означает ошибку чтения директории, . — ошибку чтения подкаталога, из-за которой размер может быть неполным, показывает объект, исключённый правилами фильтрации, > — директорию на другой файловой системе, ^ — Linux pseudo filesystem, @ — объект, который не является обычным файлом или папкой, H — уже учтённую жёсткую ссылку, e — пустую директорию. Эти метки важны при анализе корня системы: без них легко принять частичный результат за полный.

Окно информации вызывается клавишей i. Оно показывает имя, путь, тип объекта, disk usage и apparent size выбранного элемента. В обычной работе этот экран нужен перед удалением или переносом данных: пользователь видит не только сокращённое имя в списке, но и полный путь. На сервере это снижает риск перепутать похожие директории, например несколько каталогов cache, build, tmp или logs в разных проектах.

Подтверждение удаления оформлено отдельным диалогом. При нажатии d ncdu не стирает объект мгновенно: появляется окно Confirm delete с вопросом и вариантами yes, no, don't ask me again. Встроенное подтверждение включено по умолчанию, а для более строгой работы можно запускать программу с запретом удаления через -r или --disable-delete.

Справка вызывается клавишей ?. В ней перечислены клавиши навигации, сортировки, удаления, переключения отображения и закрытия окна. Для ncdu это особенно важно: программа не перегружает основной экран подсказками, но вся базовая логика доступна без выхода в man page.

Основные возможности ncdu

Сканирование выбранного каталога

Базовая операция — сканирование каталога. Команда без аргументов анализирует текущую директорию:

ncdu

Для анализа конкретного пути путь передаётся после команды:

ncdu /var
ncdu /home
ncdu /srv/project

При запуске ncdu проходит по дереву каталогов, собирает размеры файлов и директорий, затем открывает браузер результатов. Если каталог большой, во время сканирования отображается прогресс: количество найденных элементов, общий размер и текущий обрабатываемый путь. В интерфейсном режиме -2 программа показывает полноэкранный ncurses-экран уже на этапе сканирования; режим -1 выводит прогресс в терминал без полноэкранного интерфейса; режим -0 подавляет обычный вывод и оставляет только фатальные ошибки.

На сервере часто анализируют не весь диск, а конкретные зоны: /var, /var/log, /home, /srv, каталог сайта, директорию контейнеров или папку с резервными копиями. Такой подход быстрее и безопаснее, чем начинать с /. Если заполнен системный раздел, но неизвестно, какая часть структуры виновата, используется запуск с ограничением на одну файловую систему:

ncdu -x /

Параметр -x, он же --one-file-system, не даёт ncdu переходить через границы файловой системы. Это важно, когда в корне смонтированы отдельные разделы, внешние диски, сетевые тома или служебные mount point. Без такого ограничения анализ корня может захватить больше данных, чем пользователь хотел проверить.

Интерактивная навигация по каталогам

Главное отличие ncdu от простого du — интерактивная навигация. Команда du обычно требует дополнительной сортировки, фильтрации и повторных запусков, тогда как ncdu после сканирования превращает результат в браузер. По списку можно ходить стрелками, j и k; выбранная строка открывается клавишей enter, right или l; возврат выполняется через left, или h.

Навигация работает как постепенное сужение проблемы. Сначала пользователь видит, что больше всего занимает /var. Затем открывает /var, видит крупный /var/log или /var/lib, переходит внутрь, сортирует элементы, просматривает сведения через i и только после этого решает, что делать. Такой пошаговый путь удобнее одноразовой команды с длинным выводом, потому что пользователь не теряет контекст и остаётся внутри одного экрана.

В серверной работе это особенно заметно при анализе приложений. Например, каталог проекта может содержать node_modules, .git, dist, build, vendor, storage, logs, cache, пользовательские загрузки и временные файлы. Ncdu не классифицирует эти папки автоматически, но быстро показывает их вклад в общий объём. Разработчик или администратор видит, что именно разрослось: зависимости, артефакты сборки, журналирование или реальные пользовательские данные.

Сортировка по размеру, имени и количеству элементов

Поиск больших файлов Linux обычно начинается с сортировки по размеру. В ncdu за это отвечает клавиша s: она упорядочивает элементы по filesize, а повторное нажатие меняет направление сортировки. Клавиша n сортирует по имени, C — по количеству элементов, M — по последнему времени изменения дочерних элементов, но M требует расширенного режима -e.

Сортировка по размеру нужна для ответа на вопрос, что занимает место прямо сейчас. Сортировка по имени полезна при проверке однотипных каталогов, например датированных папок, релизов, резервных копий или логов. Сортировка по числу элементов помогает выявить каталоги, которые занимают не максимальный объём, но содержат сотни тысяч мелких файлов. Такие директории могут создавать проблемы при резервном копировании, синхронизации, удалении и обходе файловой системы.

Расширенный режим добавляет чтение владельца, прав доступа и времени изменения файлов. Он увеличивает потребление памяти примерно на 30% и делает экспорт крупнее, зато позволяет сортировать и просматривать данные по mtime. Это полезно, когда нужно отделить старые данные от свежих: например, найти давние временные каталоги, старые релизы, архивные сборки или давно не обновлявшиеся выгрузки.

Переключение disk usage и apparent size

Ncdu различает disk usage и apparent size. Disk usage показывает место, реально потреблённое на диске, apparent size — видимый размер файла. Переключение выполняется клавишей a или параметрами запуска --disk-usage и --apparent-size.

Разница важна не только для теории файловых систем. При анализе серверов пользователь может встретить sparse-файлы, базы данных, образы виртуальных машин, файлы с большим логическим размером, но меньшим фактическим потреблением блоков, а также обратные ситуации, связанные с размером блоков и множеством мелких файлов. Ncdu позволяет переключить режим отображения без нового сканирования и увидеть, как меняется картина.

В нижней строке интерфейса одновременно отображаются total disk usage и apparent size. Это помогает не делать ошибочный вывод по одному числу. Если apparent size сильно больше disk usage, объект может быть разреженным файлом. Если физическое использование диска растёт из-за большого числа маленьких файлов, apparent size может не отражать реальную нагрузку на раздел.

Графическая полоса и проценты в терминале

Клавиша g переключает отображение процента, графической полосы, обоих вариантов или отключает их. Процент относится к размеру текущей директории, а графическая полоса — к крупнейшему элементу текущего списка.

ncdu скриншот 1

Эта деталь делает ncdu визуальным инструментом, хотя программа работает в терминале. Пользователь видит не только числа, но и относительное распределение места. Если один каталог занимает почти весь раздел, он сразу выделяется длинной полосой. Если место распределено между несколькими папками, это тоже видно без ручного сравнения чисел.

Для графической полосы доступны стили hash, half-block и eighth-block. Значение hash использует ASCII-символ # и остаётся наиболее переносимым. half-block и eighth-block дают более точное визуальное отображение, но зависят от корректной поддержки символов в терминале.

Исключение каталогов и файлов из анализа

В ncdu есть фильтрация через --exclude и -X, --exclude-from. Параметр --exclude добавляет шаблон исключения прямо в командной строке, а --exclude-from читает шаблоны из файла, где они разделяются переводами строк. Исключённые объекты по умолчанию могут оставаться видимыми, но не учитываются в статистике занятого пространства.

Пример для проекта, где не нужно учитывать Git-репозитории и временные кэши:

ncdu --exclude .git --exclude node_modules ~/projects

Такой запуск помогает сузить анализ. Например, разработчик хочет оценить только пользовательские файлы проекта, а не зависимости. Или администратор проверяет каталог сайта, но временно исключает известный большой кэш, чтобы увидеть остальные источники расхода места. При этом важно помнить: исключение — это не удаление. Ncdu меняет расчёт и отображение статистики, но не очищает файлы автоматически.

Для каталогов с CACHEDIR.TAG доступны --include-caches и --exclude-caches. Исключённые кэш-директории отображаются, но их содержимое не сканируется и не считается в статистике. Такой режим полезен при анализе пользовательских профилей, build-систем и приложений, которые явно помечают кэшируемые данные.

Работа с псевдофайловыми системами Linux

При анализе Linux-корня важно учитывать /proc, /sys и другие псевдофайловые системы. Для них есть параметры --include-kernfs и --exclude-kernfs. Ncdu распознаёт Linux pseudo filesystems, включая proc, sys, cgroup, cgroup2, debug, devpts, bpf, security, selinux, trace и другие перечисленные типы.

Эта функция защищает анализ от бессмысленного обхода виртуальных структур ядра. Псевдофайловые системы не являются обычными каталогами с пользовательскими данными. Они могут содержать динамические представления процессов, устройств и системных интерфейсов. В контексте освобождения места на диске такие каталоги не являются целевой зоной очистки, поэтому при анализе корня полезно запускать ncdu с аккуратными ограничениями и внимательно смотреть на флаги в списке.

Символические ссылки и жёсткие ссылки

Параметр -L, --follow-symlinks включает следование символическим ссылкам на файлы и подсчёт размера файла, на который ссылка указывает. При этом ncdu не следует символическим ссылкам на директории, а каждый symlinked file считается как уникальный файл. Такое поведение отличается от обработки hard links.

Жёсткие ссылки учитываются отдельно. В интерфейсе для них используется флаг H, когда тот же файл уже был посчитан. В версии 2.x также появилась работа с shared/unique size column для директорий, разделяющих hard links; отображение этой колонки переключается клавишей u, если в текущем списке есть соответствующие данные.

Ограничение тоже важно: directory hard links и firmlinks на macOS не поддерживаются как hard links и могут быть просканированы и посчитаны несколько раз. Кроме того, уникальные и разделяемые размеры директорий рассчитываются из предположения, что link count не меняется во время сканирования или между refresh-операциями. Если hard link удалён во время работы, для корректного результата нужен полный повторный запуск анализа.

Удаление выбранных файлов и каталогов

Удаление запускается клавишей d. Ncdu удаляет выбранный файл или директорию, но перед этим показывает подтверждение. Если содержимое директории больше не совпадает с тем, что программа держит в памяти, или объект уже исчез из файловой системы, отображается ошибка. Такой контроль нужен, потому что файловая система может меняться параллельно: служба пишет новые логи, пользователь удаляет файлы из другой сессии, скрипт перемещает каталоги.

Удаление через ncdu удобно для очевидных объектов: старых архивов, временных сборок, дубликатов выгрузок, ненужных ISO, кэшей проекта, устаревших логов после проверки политики хранения. Но это ручной инструмент. Программа не знает, нужен ли файл приложению, входит ли он в резервную схему, относится ли он к базе данных или используется процессом. Поэтому перед нажатием d стоит открыть сведения через i, проверить полный путь и убедиться, что объект действительно можно удалить.

Для безопасного аудита используется read-only режим:

ncdu -r /var

Один -r отключает встроенное удаление, а двойной -r дополнительно отключает запуск shell из браузера ncdu.

Пользовательская команда удаления

Параметр --delete-command заменяет встроенное удаление на пользовательскую shell-команду. Абсолютный путь выбранного объекта добавляется к заданной команде, а переменная NCDU_DELETE_PATH получает тот же путь. После завершения команды ncdu обновляет представление выбранного элемента и корректирует размеры, но это не полный refresh всего дерева.

Пример с интерактивным rm:

ncdu --no-confirm-delete --delete-command 'rm -ri --'

Пример перемещения в корзину через gio trash:

ncdu --delete-command 'gio trash --'

Такой режим полезен на desktop-системе Linux, где удаление в корзину предпочтительнее безвозвратного удаления. На сервере чаще используют read-only режим или стандартное подтверждение, потому что корзина доступна не во всех окружениях и не всегда соответствует политике администрирования.

Обновление текущей директории

Клавиша r запускает refresh/recalculate текущей директории. Это удобно, когда часть файлов удалена или изменилась уже после сканирования. Например, пользователь открыл каталог логов, удалил старый архив, а затем хочет увидеть обновлённый размер без повторного анализа всего дерева.

Refresh не заменяет полный перескан, если изменения затронули разные ветви дерева или hard links. При сложных изменениях безопаснее выйти и запустить ncdu заново. Особенно это относится к системам, где параллельно работают контейнеры, базы данных, CI-задачи, лог-ротация и процессы очистки.

Запуск shell из текущего каталога

Клавиша b запускает shell в текущей директории. Ncdu определяет предпочтительную оболочку через NCDU_SHELL, затем SHELL, а если они не заданы, вызывает /bin/sh. Перед запуском shell выставляется или увеличивается переменная NCDU_LEVEL, по которой можно понять, что shell открыт изнутри ncdu.

Эта функция превращает ncdu в точку перехода от анализа к ручному действию. Пользователь нашёл крупный каталог, нажал b, оказался внутри него и уже обычными командами проверяет содержимое, переносит файлы, запускает архивирование или смотрит лог. Для строгого аудита запуск shell отключается двойным read-only режимом -rr.

Параметры запуска и рабочие режимы

Базовые команды

Для простого анализа текущей директории используется:

ncdu

Для проверки конкретной папки:

ncdu /var

Для анализа корня в пределах одной файловой системы:

ncdu -x /

Команда ncdu -x / особенно важна при заполненном системном разделе. Без -x обход может уйти в смонтированные разделы и дать картину, не соответствующую задаче. С -x программа остаётся на той же файловой системе, что и стартовый путь.

Режимы вывода при сканировании

Ncdu поддерживает три варианта поведения интерфейса на этапе сканирования:

ПараметрЧто делаетКогда использовать
-0не показывает обычный прогресс, кроме фатальных ошибокэкспорт в stdout, cron, автоматические сценарии
-1пишет прогресс в терминал без полноэкранного ncurses-интерфейсаэкспорт в файл, логируемые операции
-2показывает полноэкранный ncurses-интерфейс во время сканированияобычная интерактивная работа

При удалённой работе через медленное соединение помогает -q или --slow-ui-updates: частота обновления интерфейса снижается с 10 раз в секунду до одного раза в 2 секунды. Это не меняет результат анализа, но уменьшает количество перерисовок терминала.

Многопоточное сканирование

Параметр -t, --threads задаёт количество потоков для сканирования файловой системы. По умолчанию используется 1 поток. Параллельное сканирование удобно на системах, где файловая система и накопитель хорошо обрабатывают одновременный обход каталогов.

Пример:

ncdu -t8 /srv

У многопоточного режима есть важное ограничение при JSON-экспорте. В single-threaded режиме экспорт -o может работать с малым потреблением памяти, а при multi-threaded scan дерево сначала строится в памяти и записывается после завершения обхода. На больших деревьях это требует больше RAM. Для многопоточного экспорта и очень больших структур лучше использовать binary export через -O, потому что он поддерживает эффективный экспорт с любым числом потоков.

ncdu скриншот 2

Режим только для чтения

Read-only режим нужен там, где ncdu используется как диагностический инструмент. Один -r отключает удаление. Два -r отключают и удаление, и shell из браузера.

ncdu -r /var
ncdu -rr /

Первый вариант подходит для обычного аудита, когда пользователь хочет исключить случайное нажатие d. Второй вариант строже: внутри ncdu не остаётся способа изменить файловую систему через удаление или запуск shell. Такой режим полезен для обучения, проверки системных каталогов, работы под sudo и анализа производственной среды.

Цветовые схемы

Параметр --color принимает значения off, dark и dark-bg. Значение off отключает цвета, dark рассчитано на тёмный фон, dark-bg — вариант тёмной схемы, который также работает в терминалах со светлым фоном. По умолчанию цвета отключены.

Пример запуска с цветной схемой:

ncdu --color=dark /var

Цвета помогают быстрее читать список, но ncdu не зависит от них. На серверах, старых терминалах, нестандартных SSH-клиентах и минимальных rescue-средах монохромный режим часто надёжнее. Если символы графической полосы или цвета выглядят некорректно, стоит использовать базовый вывод, не менять тему и при необходимости оставить graph-style hash.

Конфигурационные файлы

Параметры ncdu можно хранить в /etc/ncdu.conf и $HOME/.config/ncdu/config. Системная конфигурация загружается перед пользовательской, а параметры командной строки имеют приоритет над конфигурационными файлами. --ignore-config полностью отключает чтение конфигов. Формат простой: одна опция командной строки на строку, строки с # игнорируются, а префикс @ подавляет ошибки при разборе конкретной строки.

Пример конфигурации:

-e
--disable-delete
--exclude .git
@--exclude-from ~/.ncduexcludes

Такой файл делает ncdu более предсказуемой в регулярной работе. Например, администратор может всегда включать extended mode, отключать удаление и исключать .git-каталоги. При разовом запуске любой параметр можно переопределить прямо в командной строке.

Экспорт и импорт результатов

JSON-экспорт

Ncdu сохраняет дерево каталогов в JSON через параметр -o. Такой режим не открывает браузер сразу, а записывает результат в файл. Позже его можно открыть через -f. Если вместо имени файла указан -, данные читаются из стандартного ввода или записываются в стандартный вывод.

ncdu -o usage.json /var
ncdu -f usage.json

JSON-экспорт удобен для внешних инструментов: его можно сохранять, передавать, анализировать скриптами, сравнивать между периодами. Формат представляет верхний уровень как массив с major version, minor version, metadata и directory. В metadata записываются progname, progver и timestamp, а элементы дерева описываются объектами с полями имени, apparent size, disk size, device ID, inode и другими данными.

У JSON есть цена: размер выгрузки растёт линейно с количеством файлов. Для 10 000 файлов экспорт занимает порядка 600–700 KiB без сжатия или немного больше 100 KiB при gzip-сжатии; при миллионах файлов речь идёт уже о десятках мегабайт. В ncdu для JSON можно включить Zstandard-сжатие параметром -c.

ncdu -co usage.json.zst /var

Binary export

Binary export включается параметром -O. Этот формат появился для сценариев, где JSON становится неудобным: многопоточное сканирование, очень большие деревья, просмотр без загрузки всей структуры в память, встроенное сжатие и более эффективная работа с блоками.

ncdu -O usage.ncdu /home
ncdu -f usage.ncdu

Binary export хранит данные в блоках, использует встроенное сжатие Zstandard и позволяет читать дерево в разных порядках обхода без полного считывания файла. Для внешней интеграции JSON остаётся проще, потому что его легче парсить стандартными библиотеками. Но для больших серверных деревьев и многопоточного экспорта binary export лучше соответствует задаче просмотра результата в ncdu.

Импорт и ограничения импортированного отчёта

При открытии файла через -f ncdu показывает сохранённую структуру как снимок. В целях защиты refresh, удаление и запуск shell в браузере отключаются, потому что импортированная информация не считается прямым представлением той файловой системы, где файл открыт.

Это поведение важно понимать. Импортированный отчёт хорош для анализа, передачи результата, просмотра на локальном компьютере после удалённого сканирования, сравнения и документирования. Но он не предназначен для удаления файлов из сохранённого снимка. Для реальной очистки нужно подключиться к той системе, где находятся данные, и сканировать актуальное дерево.

Удалённое сканирование и локальный просмотр

Ncdu поддерживает сценарий, когда сервер сканирует дерево и передаёт результат по SSH, а пользователь просматривает его локально:

ssh user@system ncdu -co- / | ncdu -f-

Такой подход решает две проблемы. Во-первых, навигация по результату происходит локально, без задержек интерфейса по сети. Во-вторых, при экспорте ncdu не держит всё дерево в памяти на удалённой системе, что снижает нагрузку на сервер при больших каталогах.

Инструкция: как найти, что занимает место на диске

Шаг 1. Выбрать область анализа

Сначала нужно определить, какой путь проверять. Для пользовательского профиля достаточно домашней директории:

ncdu ~

Для серверных данных часто начинают с /var, /srv, каталога сайта, директории приложения или папки с резервными копиями:

ncdu /var
ncdu /srv
ncdu /srv/site

Если заполнен корневой раздел, но в системе есть отдельные mount point, используется ограничение -x:

sudo ncdu -x /

Запуск sudo ncdu / без -x и без понимания структуры mount point может показать слишком широкую картину. На сервере лучше проверять конкретные каталоги и постепенно расширять область анализа.

Шаг 2. Дождаться окончания сканирования

Во время обхода ncdu показывает количество найденных элементов, текущий путь и суммарный размер. На крупных файловых системах сканирование занимает время, потому что программа должна прочитать метаданные множества файлов и каталогов. Если соединение медленное, можно использовать -q, чтобы интерфейс обновлялся реже.

На этом этапе не нужно прерывать процесс сразу после появления первых крупных значений. Частичный результат не отражает итоговую структуру. Лучше дождаться перехода к списку, где элементы уже отсортированы и доступны для навигации.

Шаг 3. Начать с верхних строк списка

После сканирования ncdu показывает самый полезный для диагностики экран: каталог, его элементы, размеры, проценты и графические полосы. Обычно при сортировке по размеру достаточно посмотреть первые несколько строк. Если один каталог занимает большую часть пространства, он станет главным кандидатом для дальнейшей проверки.

Открывать нужно не все элементы подряд, а самые крупные и непонятные. Например, если в /var крупнее всего /var/lib, стоит перейти туда. Если внутри выделяется каталог контейнеров, базы данных или менеджера пакетов, решение об очистке уже зависит от конкретной службы. Ncdu помогает дойти до места, но не подменяет знание системы.

Шаг 4. Проверить полный путь через окно информации

Когда выбран крупный объект, нажмите i. Окно информации показывает Name, Path, Type, Disk usage и Apparent size. Это особенно полезно перед удалением: короткое имя в списке может быть одинаковым в разных местах, а полный путь исключает путаницу.

Если объект относится к системной службе, базе данных, контейнерам, пакетному менеджеру или журналам, не стоит удалять его только по размеру. Правильный шаг — определить назначение каталога и использовать штатный способ очистки конкретного приложения. Для пользовательских архивов, старых выгрузок, временных сборок и дублирующихся файлов решение обычно проще.

Шаг 5. Переключить представление, если числа выглядят странно

Клавиша a переключает disk usage и apparent size. Если каталог показывает неожиданные значения, переключение помогает понять, расходует ли объект реальные блоки на диске или только имеет большой логический размер. Клавиша g меняет отображение процентов и графической полосы, а c показывает количество дочерних элементов.

Для каталогов с большим числом маленьких файлов полезно включить item counts. Такой каталог может занимать умеренный объём, но создавать нагрузку при обходе, резервном копировании и удалении. Это часто встречается в кэшах, временных данных приложений, пакетных менеджерах, сборочных директориях и некоторых пользовательских загрузках.

Шаг 6. Удалять только проверенные объекты

Для удаления выбранного файла или каталога нажимается d. В окне Confirm delete нужно выбрать yes или no. Вариант don't ask me again отключает повторные подтверждения в текущем сценарии, но для аккуратной работы лучше оставлять подтверждение включённым.

ncdu скриншот 3

Для аудита без изменений запускайте:

ncdu -r /var

Для режима, в котором нельзя ни удалить, ни открыть shell из ncdu:

ncdu -rr /var

После удаления внутри ncdu полезно пересчитать текущую директорию через r. Для окончательной проверки свободного места используется внешняя команда:

df -h

Ncdu показывает, где занято место внутри дерева, а df -h показывает состояние файловых систем целиком. Эти инструменты дополняют друг друга: один помогает найти источник расхода, другой подтверждает результат на уровне раздела.

Практические сценарии использования

Проверка домашнего каталога

Для обычного пользователя Linux или macOS самый безопасный старт — домашняя директория:

ncdu ~

В домашнем каталоге обычно ищут крупные загрузки, старые архивы, видео, виртуальные машины, кэши приложений, локальные копии репозиториев, каталоги сборки и временные файлы. Здесь меньше риска повредить систему, чем при запуске анализа корня. Если пользователь не уверен, можно добавить read-only режим:

ncdu -r ~

При анализе домашнего каталога удобно переключать сортировку по имени и размеру. Например, если найдено несколько папок с датами, сортировка n помогает просмотреть их по порядку, а s возвращает список к поиску самых тяжёлых элементов.

Проверка /var

Каталог /var часто растёт на серверах: там могут находиться логи, кэши, базы данных пакетов, очереди, данные приложений и служебные каталоги. Для проверки используется:

sudo ncdu /var

Если в /var/log обнаружены крупные файлы, удаление через ncdu не всегда является правильным действием. Для журналов важны настройки logrotate, активные файловые дескрипторы процессов и требования хранения. Ncdu показывает, какие файлы занимают место, но корректная очистка логов зависит от службы.

Проверка каталога сайта или приложения

Для веб-проекта команда обычно выглядит так:

ncdu /srv/site

или:

ncdu /var/www/project

Внутри проекта программа помогает разделить реальное содержимое и служебные данные: пользовательские загрузки, кэш, временные файлы, зависимости, артефакты сборки, логи, бэкапы. Если крупным оказался node_modules, это один сценарий; если uploads — другой; если storage/logs — третий. Ncdu ценна тем, что быстро доводит пользователя до конкретной ветки дерева.

Проверка Docker- и контейнерных данных

Ncdu можно применять к каталогам, где хранятся данные контейнеров, но удаление внутри таких директорий вручную требует осторожности. Контейнерные runtime и Docker используют собственную структуру слоёв, томов и метаданных. Ncdu показывает размер, но очистка обычно выполняется командами самого инструмента контейнеризации.

В таком сценарии разумнее запускать ncdu в режиме только для чтения:

sudo ncdu -r /var/lib

Задача — понять, какая подсистема занимает место: контейнеры, база данных, пакеты, кэш или логи. После этого применяется штатная очистка конкретной подсистемы.

Проверка резервных копий

Каталоги резервных копий часто растут незаметно, потому что новые архивы добавляются регулярно, а старые не удаляются. Ncdu позволяет быстро увидеть, какие даты, проекты или типы архивов занимают больше всего места:

ncdu /backup

Для такой проверки сортировка по имени и размеру одинаково важна. По размеру видно крупнейшие архивы, по имени — последовательность дат. Удалять бэкапы нужно только с учётом политики хранения: например, нельзя удалять единственную полную копию только потому, что она самая крупная.

Работа по SSH

Для обычной SSH-сессии ncdu удобнее графических анализаторов, потому что не требует X11 forwarding, VNC, RDP или web-интерфейса. Достаточно терминала. При медленном соединении помогает -q, а при больших отчётах — удалённый экспорт и локальный просмотр:

ssh user@server ncdu -co- /var | ncdu -f-

Такой подход уменьшает задержки при навигации по результату: дерево просматривается локально, а сервер выполняет только сканирование и передачу данных.

Системные требования

Ncdu рассчитана на минимальное терминальное окружение. Для работы нужен терминал, файловая система, доступ к каталогам и curses/ncurses-интерфейс. Программа работает на POSIX-like системах; статические сборки доступны для Linux-архитектур x86, x86_64, ARM и AArch64, а пакетные менеджеры распространяют ncdu для разных Linux/BSD/macOS-систем.

КомпонентТребование или условие
Операционная средаPOSIX-like система
Интерфейстерминал с поддержкой curses/ncurses
Основное применениеLinux, BSD, macOS, серверы по SSH
Права доступаобычный пользователь видит доступные ему каталоги; для системных директорий нужны повышенные права
Памятьзависит от количества файлов и режима; extended mode увеличивает потребление памяти примерно на 30%
Экспорт JSONразмер растёт линейно с числом файлов
Binary exportподходит для больших деревьев и многопоточного экспорта
Цветной выводнеобязателен; по умолчанию цвета отключены
Графические компонентыне требуются
Сетьне требуется для локального анализа; SSH используется только для удалённой работы

Ncdu не предъявляет требований уровня графической подсистемы. Это ключевое отличие от Baobab, QDirStat, Filelight и WinDirStat. На сервере программа остаётся рабочей даже в rescue-режиме, минимальной консоли или SSH-сессии, где доступен только shell. При этом производительность и потребление памяти зависят не только от версии программы, но и от количества элементов в дереве, скорости файловой системы, типа накопителя, прав доступа и выбранных параметров.

Для расширенного режима -e нужно учитывать дополнительное чтение владельца, прав и времени изменения. Этот режим полезен для аудита, но не всегда нужен при простом поиске крупных папок. Для огромных деревьев лучше сначала выполнить базовый scan, а расширенные параметры включать только тогда, когда действительно нужна сортировка по mtime или просмотр дополнительных метаданных.

Сравнение с аналогами

Ncdu удобнее всего сравнивать не с абстрактными чистильщиками, а с конкретными инструментами, которые решают похожую задачу: показывают расход места и помогают найти крупные файлы или каталоги. Часть аналогов работает в терминале, часть — в графической оболочке, часть рассчитана на Windows, часть — на Linux-десктопы.

ПрограммаИнтерфейсСильная сторонаОграничение относительно ncduПодходящий сценарий
ncduTUI/ncursesSSH, серверы без GUI, быстрый интерактивный анализнет полноценной treemap-картыLinux/BSD/macOS-терминал, VPS, сервер
duCLIстандартная команда, хорошо подходит для скриптовнет интерактивной навигацииавтоматизация, пайплайны, простые отчёты
gduTUI/CLIпараллельная обработка, акцент на SSDдругой инструмент и другая модель производительностибыстрый анализ локальных SSD
dua-cliCLI/TUIпараллельность по умолчанию, Rust-экосистемаменьше классической простоты ncduбыстрый анализ и удаление ненужных данных
diskonautTUIвизуальная treemap-навигация в терминалеменее минималистиченкогда нужна карта пространства прямо в терминале
QDirStatGUI/Qtдерево + treemap + помощь в очисткетребует графической оболочкиLinux/BSD-десктоп
BaobabGUI/GNOMEдерево и графическое представление папокнеудобен на сервере без GUIрабочий стол GNOME
FilelightGUI/KDEконцентрические кольца для визуализацииграфический инструментKDE/Windows-сценарии с визуальным анализом
WinDirStatGUI/Windowsдерево, типы файлов, treemap, cleanup assistantориентирован на Microsoft Windowsанализ дисков Windows

ncdu и du

du остаётся базовой командой Unix/Linux для оценки использования файлового пространства. Она хороша в скриптах, cron-задачах, пайплайнах с sort, head, awk, grep. Но при ручной диагностике du часто требует цепочки команд и повторных запусков. Ncdu решает эту проблему: один раз сканирует дерево и даёт интерактивный браузер.

Для автоматического отчёта du проще. Для человека, который сидит в SSH и пытается понять, где исчезло место, ncdu удобнее: можно двигаться по дереву, сортировать, смотреть сведения и возвращаться назад без нового запуска.

ncdu и gdu

Gdu написан на Go и описывается как быстрый disk usage analyzer, ориентированный прежде всего на SSD, где может использовать параллельную обработку; HDD тоже поддерживаются, но прирост производительности ниже.

В сравнении с gdu ncdu выглядит более классическим и консервативным инструментом. У ncdu есть собственная сильная сторона: предсказуемый минимальный ncurses-интерфейс, широкая привычность среди Linux-администраторов, экспорт JSON/bin, read-only режим и удобная работа через SSH. Gdu стоит рассматривать там, где главная цель — максимально быстрый локальный scan на SSD.

ncdu и dua-cli

Dua-cli — Disk Usage Analyzer на Rust. Он параллелен по умолчанию, рассчитан на быстрое получение информации об использовании пространства и умеет удалять лишние данные.

По ощущению dua-cli ближе к современным быстрым CLI/TUI-инструментам, а ncdu — к классической Unix-утилите с фокусом на простоте и переносимости. Для администратора, который привык к ncdu, важнее не максимальная скорость, а знакомые клавиши, понятные режимы -x, -r, -o, -O и работа в минимальном окружении. Для локальной рабочей станции с большим SSD dua-cli может быть интересной альтернативой.

ncdu и diskonaut

Diskonaut — terminal disk space navigator с визуальным представлением пространства. Он поддерживает Linux, macOS и Windows и запускается либо в текущей папке, либо с путём в качестве аргумента.

Главное отличие — визуальная модель. Ncdu показывает список и полосы размеров, diskonaut делает упор на treemap-подобное представление. Если пользователю нужно увидеть карту прямо в терминале, diskonaut ближе к этой задаче. Если нужна максимально простая интерактивная замена du, ncdu остаётся более прямым вариантом.

ncdu скриншот 4

ncdu и QDirStat

QDirStat — графическое Qt-приложение, которое показывает, куда ушло место на диске, и помогает с очисткой. Оно отображает размеры директорий и файлов, а также использует treemap-представление.

QDirStat удобен на Linux-десктопе, где есть графическая оболочка и пользователь хочет визуально видеть большие области. Ncdu выигрывает в серверных условиях: SSH, минимальная система, отсутствие GUI, быстрый запуск из терминала. Внутри сайта freeexe для смежной навигации уместны разделы файловых менеджеров, например Double Commander, FreeCommander XE, Q-Dir, а также утилиты поиска вроде LookDisk и SearchMyFiles.

ncdu и Baobab

Baobab, он же GNOME Disk Usage Analyzer, сканирует отдельные папки, устройства хранения и online accounts, а результат показывает как дерево и графическое представление.

Baobab удобен пользователю GNOME: он визуален, понятен без терминальных команд, подходит для домашнего компьютера. Ncdu сильнее на серверах и в окружениях, где графический интерфейс отсутствует. Кроме того, ncdu проще встроить в SSH-диагностику и удалённый экспорт.

ncdu и Filelight

Filelight визуализирует использование диска через концентрические кольца. Такой формат быстро показывает, какие ветви дерева занимают пространство, и хорошо подходит для визуального анализа на рабочем столе KDE или Windows.

Ncdu не рисует кольца и treemap, но требует меньше окружения. Для администратора сервера это важнее: терминальный анализатор запускается там, где Filelight просто не нужен или недоступен. Для desktop-пользователя выбор зависит от привычек: визуальная карта у Filelight нагляднее, но поиск по SSH через ncdu практичнее.

ncdu и WinDirStat

WinDirStat — disk usage analyzer and cleanup assistant для Microsoft Windows. Он сканирует выбранные диски или папки и показывает результат в нескольких представлениях, включая дерево каталогов и treemap.

Это не прямой конкурент ncdu на одной платформе, а Windows-аналог по задаче. Если пользователь ищет, что занимает место на Windows-диске, WinDirStat логичнее. Если задача находится на Linux-сервере, macOS-терминале, BSD-машине или удалённом POSIX-like окружении, ncdu соответствует сценарию лучше.

Отзывы пользователей и профильных изданий

Оценка профильных технических площадок

Network World описывает ncdu как быстрый и простой способ увидеть использование дискового пространства в Linux, перемещаться по директориям и файлам и определить, какой контент занимает больше всего места. Такой акцент хорошо совпадает с основной практикой: ncdu ценят не за количество функций, а за скорость понимания структуры диска.

OpenSource.com выделяет интерактивный характер отчёта ncdu: вместо сырых строк df и du пользователь получает экран, с которым можно работать глазами и клавиатурой. Это важный редакционный вывод для аудитории Linux: программа не отменяет стандартные команды, а делает ручную диагностику понятнее.

LinuxLinks относит к заметным возможностям ncdu многостраничный browsing, hard link detection, поддержку non-ASCII characters, переключение процентов и графика, а также quiet mode. Часть сведений на этой странице устарела по сопутствующим полям, но перечисленные возможности соответствуют назначению программы и её интерфейсной модели.

Hetzner Community рассматривает ncdu как командную утилиту для пользователей и системных администраторов Linux, которым нужно находить и управлять использованием дискового пространства. Для хостинговой и серверной аудитории это один из самых естественных сценариев: раздел заполняется, администратор подключается по SSH, запускает ncdu и идёт по дереву к источнику расхода.

Усреднённое мнение пользователей

Пользовательская оценка ncdu в технических сообществах обычно строится вокруг нескольких повторяющихся тезисов. Программу любят за простоту запуска, понятный терминальный интерфейс, быстрое обнаружение крупных каталогов и возможность работать там, где графические анализаторы не подходят. Для администраторов важны -x, -r, сортировка по размеру, просмотр полного пути через i и удалённый сценарий через SSH.

Критика чаще относится не к самой программе, а к рискам ручной очистки. Клавиша d может удалить важный объект, если пользователь не проверил путь и назначение каталога. Разные системы могут содержать разные сборки ncdu, из-за чего набор функций зависит от ветки и пакета. На огромных деревьях экспорт JSON становится большим, extended mode требует больше памяти, а многопоточный JSON-экспорт уступает binary export по пригодности для крупных структур. Эти ограничения не делают ncdu слабой программой, но требуют аккуратной методики.

Наиболее довольная аудитория ncdu — системные администраторы, DevOps-инженеры, разработчики, владельцы VPS, пользователи Linux-десктопов, которые уверенно работают в терминале. Наименее подходящая аудитория — пользователи, ожидающие автоматической безопасной очистки, рекомендаций можно удалить и визуальной карты диска без командной строки.

Преимущества и ограничения

Плюсы

  • Работа в терминале и по SSH. Ncdu не требует графической оболочки, поэтому подходит для VPS, серверов, rescue-сред и минимальных систем.

  • Интерактивная навигация вместо длинного вывода. Пользователь перемещается по дереву каталогов, открывает крупные ветви и возвращается назад без повторных команд.

  • Понятная сортировка. Размер, имя, количество элементов и mtime в extended mode переключаются клавишами.

  • Разделение disk usage и apparent size. Клавиша a помогает понять различие между фактическим занятием блоков и видимым размером файлов.

  • Проценты и графическая полоса. Клавиша g делает терминальный список визуально читаемым.

  • Просмотр сведений о выбранном объекте. Клавиша i показывает полный путь и размеры перед действием.

  • Встроенное удаление с подтверждением. Клавиша d открывает Confirm delete, а не удаляет объект без диалога.

  • Режим только для чтения. -r, --disable-delete и двойной -r подходят для безопасного аудита.

  • Экспорт и импорт. JSON через -o, binary export через -O и импорт через -f позволяют сохранять результаты и просматривать их позже.

  • Поддержка исключений. --exclude, --exclude-from, --exclude-caches, --exclude-kernfs помогают убрать из расчёта известные лишние зоны.

  • Гибкая конфигурация. Параметры можно хранить в системном и пользовательском конфигурационном файле.

  • Минимальная концепция. Программа делает одну задачу и не смешивает анализ диска с реестром, автозагрузкой, приватностью или общей оптимизацией системы.

Минусы

  • Нет полноценной графической карты. Ncdu показывает список и полосы, но не заменяет treemap в QDirStat, Baobab, Filelight или WinDirStat.

  • Удаление требует понимания системы. Программа не определяет, безопасен ли файл для удаления.

  • Риск ошибки при запуске с повышенными правами. sudo ncdu / даёт доступ к критичным системным каталогам, поэтому лучше использовать -r или проверять путь через i.

  • Разные окружения могут иметь разные сборки. Набор возможностей зависит от установленной ветки и пакета.

  • Extended mode потребляет больше памяти. Дополнительные сведения о владельце, правах и времени изменения увеличивают расход памяти примерно на 30%.

    ncdu скриншот 5

  • JSON-экспорт растёт на больших деревьях. При миллионах файлов JSON может занимать десятки мегабайт.

  • Многопоточный JSON-экспорт требует больше памяти. Для таких сценариев лучше binary export.

  • Не все особенности файловых систем отображаются идеально. Directory hard links и macOS firmlinks не поддерживаются как hard links и могут учитываться повторно.

  • Терминальная модель не подходит части новичков. Пользователям без опыта командной строки проще начать с графического анализатора.

Безопасность работы и типичные ошибки

Запуск анализа корня без ограничения файловой системы

Одна из частых ошибок — запуск анализа / без -x. В результате ncdu может перейти в смонтированные разделы, внешние диски или сетевые точки, если они находятся внутри дерева. Для системного раздела лучше использовать:

sudo ncdu -x /

Такой запуск оставляет анализ в пределах одной файловой системы. Если нужно проверить отдельный mount point, его анализируют отдельно.

Удаление по размеру без проверки пути

Крупный объект не всегда является мусором. В /var/lib может лежать база данных, в /srv — пользовательские файлы, в /home — рабочие проекты, в /backup — единственная полная резервная копия. Перед удалением нужно нажать i, увидеть полный путь и понять назначение объекта.

Анализ псевдофайловых систем

Каталоги /proc и /sys не являются обычным хранилищем пользовательских файлов. Они отображают внутренние интерфейсы ядра и процессов. При анализе корня важно обращать внимание на флаги и использовать исключения для kernfs, если задача связана именно с освобождением дискового пространства.

Путаница между hidden и excluded

Клавиша e скрывает или показывает hidden/excluded files and directories. Даже если такие элементы скрыты, они могут оставаться включёнными в размеры директорий. Если нижняя строка показывает неожиданный total, нужно проверить, не скрыты ли элементы отображения.

Ожидание, что импортированный отчёт позволит удалять файлы

Файл, открытый через -f, является снимком. В импортированном браузере отключены refresh, удаление и shell, потому что ncdu не считает такой отчёт живым представлением файловой системы. Для очистки нужно сканировать актуальный путь на той системе, где находятся файлы.

Использование extended mode без необходимости

-e полезен для владельцев, прав и mtime, но увеличивает потребление памяти и размер экспорта. Если задача — просто найти крупнейшие каталоги, базового режима достаточно. Extended mode лучше включать при аудите старых данных, проверке владельцев и сортировке по времени изменения.

Отключение подтверждения удаления

Параметр --no-confirm-delete и выбор don't ask me again ускоряют массовое удаление, но повышают риск ошибки. Для серверов, системных каталогов и чужих данных лучше оставлять подтверждение включённым или запускать ncdu в read-only режиме.

Для кого подходит NCurses Disk Usage

Пользователь или сценарийНасколько подходит ncduПочему
Администратор Linux-сервераотлично подходитработает по SSH, не требует GUI, быстро показывает крупные каталоги
Владелец VPSотлично подходитпомогает найти логи, кэши, бэкапы и данные приложений
DevOps-инженерхорошо подходитполезен при анализе /var, /srv, контейнерных каталогов и CI-артефактов
Разработчикхорошо подходитбыстро показывает размер node_modules, build, dist, vendor, .git, кэшей
Пользователь Linux-десктопаподходит при привычке к терминалубыстрее GUI для точечной проверки каталогов
Пользователь macOSподходит при работе в терминалеудобен для анализа проектов, домашних каталогов и серверных копий
Пользователь Windowsподходит не как основной вариантдля Windows-анализа логичнее WinDirStat; ncdu уместен в Unix-like окружениях
Новичок без опыта shellподходит с осторожностьюлучше запускать -r и не удалять файлы из системных каталогов
Команда поддержкихорошо подходитможно быстро получить структуру расхода места и передать экспорт
Графический пользовательограниченнонет treemap, круговых диаграмм и мышиного GUI

Ncdu особенно сильна в связке с другими системными инструментами. Сначала df -h показывает, какой раздел заполнен. Затем ncdu показывает, где внутри этого раздела находятся крупные каталоги. После этого администратор использует штатные команды конкретного приложения или службы для очистки. При необходимости смежные задачи решаются отдельными утилитами: HD Cleaner для Windows-очистки, Glary Disk Cleaner для поиска ненужных файлов в Windows, DiskPulse для мониторинга изменений диска, HDDExpert для диагностики накопителей.

Частые вопросы

Чем ncdu отличается от du?

du выводит размеры файлов и каталогов в командной строке. Ncdu использует ту же общую идею анализа занятого места, но добавляет интерактивный браузер. Пользователь не просто получает список, а перемещается по дереву, сортирует элементы, смотрит сведения, переключает режим размера и может удалить выбранный объект.

Можно ли удалить файл прямо из ncdu?

Да. Для удаления выбранного файла или каталога используется клавиша d. Перед удалением появляется Confirm delete. Для запрета удаления используется -r или --disable-delete; двойной -r дополнительно отключает shell.

Как открыть справку?

Клавиша ? открывает help + keys + about screen. В справке перечислены навигация, сортировка, удаление, переключение графика, просмотр информации и выход.

Как выйти из программы?

Для выхода используется q. При необходимости можно включить подтверждение выхода через --confirm-quit, что полезно после долгого сканирования.

Почему размеры отличаются от ожидаемых?

Ncdu различает disk usage и apparent size. Disk usage показывает фактически занятые блоки, apparent size — видимый размер. Переключение выполняется клавишей a. Различия встречаются при sparse-файлах, особенностях блоков файловой системы, большом количестве мелких файлов и ссылках.

Как запретить переход на другие разделы?

Используйте -x или --one-file-system:

ncdu -x /

Такой запуск считает только файлы и директории на той же файловой системе, что и стартовый каталог.

Как исключить каталог из расчёта?

Для одного шаблона используется --exclude:

ncdu --exclude .git ~/projects

Для файла со списком шаблонов используется -X или --exclude-from. Исключённые элементы могут отображаться, но не учитываются в статистике.

Как сохранить результат сканирования?

JSON-экспорт выполняется через -o:

ncdu -o usage.json /var

Открытие сохранённого отчёта:

ncdu -f usage.json

Для больших деревьев и многопоточного режима подходит binary export:

ncdu -O usage.ncdu /var
ncdu -f usage.ncdu

Можно ли смотреть удалённый scan локально?

Да. Удалённая система сканирует каталог и передаёт результат, а локальный ncdu открывает его:

ssh user@system ncdu -co- / | ncdu -f-

Это уменьшает задержки при просмотре и снижает потребление памяти на удалённой системе при экспортном сценарии.

Подходит ли ncdu для Windows?

Ncdu по назначению относится к POSIX-like системам и терминальному Unix/Linux-подходу. Для Windows-дисков чаще используют графические анализаторы вроде WinDirStat. Если работа ведётся в Unix-like окружении, логика ncdu остаётся применимой, но как основной Windows-инструмент удобнее выбирать специализированную программу.

Почему по умолчанию нет цветов?

Цвета доступны через --color=dark и --color=dark-bg, но default — off. Цветной вывод не во всех терминальных конфигурациях остаётся читаемым, поэтому базовый режим делает интерфейс более переносимым.

Итоговые рекомендации

NCurses Disk Usage стоит выбирать, когда нужно быстро понять, что занимает место на Linux/BSD/macOS-системе, особенно через терминал и SSH. Программа сильна в ручной диагностике: она не обещает автоматическую очистку, не скрывает файловую структуру за упрощёнными категориями и не навязывает лишние системные функции. Пользователь видит дерево каталогов, размеры, проценты, графическую полосу, полный путь выбранного объекта и сам принимает решение.

Для серверов и VPS оптимальный старт — ncdu -x / для заполненного системного раздела, ncdu -r /var для безопасного аудита и точечный запуск по каталогам /srv, /home, /var/log, /backup. Для разработчиков ncdu полезна в проектах, где разрастаются зависимости, сборочные директории, кэши и артефакты. Для desktop-пользователей Linux программа удобна как быстрая терминальная альтернатива графическим анализаторам. Для Windows-сценариев лучше смотреть в сторону WinDirStat и других GUI-инструментов.

Главное правило работы с ncdu простое: сначала анализ, затем проверка пути и назначения, только потом удаление. Для критичных систем используйте -r или -rr, ограничивайте обход через -x, проверяйте сведения через i, не скрывайте excluded/hidden элементы без необходимости и подтверждайте итог внешней командой df -h. В таком формате ncdu остаётся одним из самых практичных инструментов для анализа занятого места на диске в терминале.

Список изменений

Ранняя идея и ветка 1.x:

  • Ncdu начиналась как curses-based версия du : программа должна была дать быстрый способ увидеть, какие каталоги используют место на диске, но без графической оболочки. Ветка 1.x написана на C и долго оставалась основной. Она сформировала привычную модель работы: сканирование каталога, интерактивный список, навигация стрелками, сортировка, удаление клавишей d , справка через ? , экспорт и импорт отчёта.
  • Ветка 1.x важна не только как исторический этап. Она закрепила простоту ncdu: один исполняемый инструмент, терминальный интерфейс, работа на сервере по SSH, отсутствие сложной настройки. Поздние версии 1.x сохраняются как LTS-направление, которое отстаёт от 2.x по функциям и производительности, но продолжает использоваться в окружениях, где стабильная сборка на C предпочтительнее новых возможностей.

Переход к ветке 2.x:

  • Переход к ncdu 2.x стал крупным изменением: программа была переписана на Zig. Первые beta-релизы 2.0 сохранили функции и интерфейс на основе ncdu 1.16, но заложили новую внутреннюю реализацию. В 2.0-beta1 появилась более низкая память в большинстве сценариев, улучшенный подсчёт hard links и дополнительная колонка shared/unique directory sizes.
  • Этот этап важен для понимания современного ncdu. Внешне программа осталась узнаваемой: те же клавиши, тот же терминальный браузер, тот же принцип анализа. Но внутренняя архитектура стала развиваться в сторону более сложных сценариев: конфигурационные файлы, дополнительные CLI-флаги, улучшенная работа с экспортом, новые форматы и многопоточность.

Развитие интерфейса и отображения:

  • В 2.1 появился natural sort при сортировке по имени, Unicode box drawing characters для полосы размера и параметр --graph-style . Эти изменения улучшили читаемость списков, где имена содержат числа, а также дали выбор между переносимым ASCII-стилем и более точными Unicode-символами.
  • В 2.2 изменилась логика wildcard-исключений: шаблоны исключения перестали пересекать границы директорий, а matching стал быстрее. Для пользователей это важно при работе с крупными деревьями, где исключение .git , временных каталогов или кэшей должно вести себя предсказуемо.
  • В 2.3 появились параметры --enable-natsort и --disable-natsort , а в футере появился индикатор выбора apparent size/disk usage. Это небольшие изменения, но они делают интерфейс прозрачнее: пользователь видит, какой режим размера сейчас включён, и может управлять сортировкой имён.

Цвета и совместимость терминалов:

  • Цветовая схема в ncdu развивалась осторожно. Поддержка цвета существовала до ветки 2.x, но включение цветов по умолчанию оказалось неудачным для части терминальных конфигураций. Позже default color scheme вернули к off , потому что текст не во всех терминалах оставался читаемым. Сейчас цвета доступны через --color=dark и --color=dark-bg , но базовый режим остаётся без цветов.
  • Это решение хорошо соответствует назначению программы. Ncdu часто запускают не в комфортном desktop-терминале, а в SSH-клиенте, serial console, rescue-среде, минимальном терминале хостинга или окружении с нестандартной темой. Надёжная читаемость важнее визуальной привлекательности.

Параллельное сканирование:

  • В 2.5 добавлена parallel scanning через -t , --threads . Эта возможность расширила сценарии для быстрых локальных накопителей и крупных деревьев. По умолчанию ncdu продолжает работать в один поток, что делает поведение предсказуемым, а многопоточность включается явно.
  • В том же этапе улучшилась производительность JSON export/import, были исправлены ошибки refresh, file descriptor leak при --exclude-caches , импорт JSON с ошибками чтения директорий и другие случаи. Для пользователя это означает, что экспорт и повторный просмотр стали пригоднее для больших структур, а интерактивное обновление — стабильнее.

Binary export и Zstandard:

  • В 2.6 появился новый формат экспорта через -O . Он предназначен для threaded export, low-memory browsing и встроенного сжатия. Также добавлена зависимость на libzstd, параметр --compress-level , прогресс-индикатор на стадии hardlink counting и ряд исправлений вывода и экспорта.
  • В 2.7 появилась прозрачная запись и чтение Zstandard-compressed JSON, параметры --compress и --export-block-size , tilde expansion в путях конфигурационного файла и исправления JSON import. Эти изменения сделали export/import полноценной частью программы, а не второстепенной функцией.

Улучшения сборки и поведения 2.8–2.9:

  • В 2.8 обновились требования к Zig, появилась поддержка @ -prefixed lines для игнорирования ошибок в конфигурационном файле, а --help стал перечислять все поддерживаемые опции. Также в этом этапе изменилось отображение kB в --si mode.
  • В 2.9 добавлен --delete-command , который заменяет встроенное удаление пользовательской командой. Также курсор в окне подтверждения удаления стал перемещаться к выбранной опции, а binary import получил поддержку старых Linux kernels без statx() . Поздние исправления 2.9.x касались сборки с Zig, macOS, integer overflow в binary export и зависания при загрузке конфигурации.
  • История ncdu показывает не смену концепции, а постепенное усиление исходной идеи. Программа осталась терминальным disk usage analyzer, но получила многопоточность, более гибкий экспорт, конфигурационные файлы, улучшенную работу с hard links, read-only safeguards и пользовательское удаление.

Выберите ссылку для загрузки ncdu

Всего скачали: 6 | сегодня: 6

Скачать бесплатно
ncdu

Похожие программы на ncdu

из раздела "HDD/SSD/USB-Flash"

Оставте свой отзыв о ncdu