Когда команда df -h внезапно сообщает, что место на диске закончилось, а стандартная утилита du -sh заставляет гадать по бесконечным строкам вывода, на помощь приходит ncdu.

ncdu (NCurses Disk Usage) — это интерактивный консольный анализатор дискового пространства. В отличие от классических инструментов, он строит удобное дерево директорий, сортирует их по размеру и позволяет мгновенно переходить к самым тяжелым папкам. Найти и удалить разросшийся лог на 50 ГБ теперь можно буквально за пару секунд.

Установка ncdu

Утилита крайне легковесна и доступна во всех популярных репозиториях:

# Ubuntu/Debian
sudo apt install ncdu

# Arch Linux
sudo pacman -S ncdu

# Fedora
sudo dnf install ncdu

# macOS
brew install ncdu

Как пользоваться

Запуск максимально прост. Вы можете просканировать текущую директорию или указать конкретный путь:

# Просканировать текущую папку
ncdu

# Сканировать конкретную папку (например, /var)
ncdu /var

Навигация и горячие клавиши:

  • ↓ / ↑ — перемещение по списку файлов и папок.
  • Enter — войти в выбранную директорию.
  • d — удалить файл или папку (требуется подтверждение).
  • n / s — сортировка по имени или по размеру.
  • q — выход из программы.

Киллер-фичи для системных администраторов

1. Быстрая чистка журналов

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

2. Глубокий анализ всей системы

С помощью sudo можно просканировать весь корень системы:

sudo ncdu /

Это наглядно покажет распределение данных между /home, /var, /opt и другими системными путями.

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

Вы можете сохранить результат сканирования в JSON-файл для последующего анализа или отправки коллегам:

ncdu -o scan.json /home

4. Удаленный анализ через SSH

Полезный трюк для мониторинга удаленных серверов. Можно просканировать сервер и просмотреть результат локально:

# На удалённом сервере
ncdu -o- / | gzip > scan.json.gz

# На локальной машине
ncdu -f- < <(ssh user@host 'zcat scan.json.gz')

Преимущества и недостатки

Плюсы:

  • Наглядность: индикаторы (бары) визуально показывают долю занимаемого места.
  • Интерактивность: удобное управление стрелками и быстрый переход по уровням вложенности.
  • Безопасность: удаление данных всегда требует подтверждения.
  • Минимализм: работает быстро даже на слабых VPS.

Минусы:

  • Не входит в стандартный набор утилит по умолчанию.
  • Требуется минимальное привыкание к TUI (текстовому интерфейсу).

Если вам нужно еще более современное решение для визуализации диска, обратите внимание на duf.