Сообщить об ошибке.

Утилита ncdu в Linux, анализ диска

Анализа дискового пространства в Linux

Содержание:

ncdu (NCurses Disk Usage) - это интерактивная утилита для анализа использования дискового пространства в Linux. Она сочетает скорость du с удобным текстовым интерфейсом на базе ncurses, позволяя быстро находить "тяжелые" файлы и каталоги.

Установка утилиты ncdu

# Debian/Ubuntu
sudo apt install ncdu

# RHEL/CentOS/Fedora
sudo yum install ncdu  # или dnf

# Arch Linux
sudo pacman -S ncdu

Утилита ncdu остается золотым стандартом для интерактивного анализа диска в Linux благодаря балансу скорости, функциональности и удобства. Для GUI-анализа выбирайте baobab или Filelight, а для CLI-скриптов - dust или du.

Основное использование

Запуск анализа

ncdu                    # Анализ текущего каталога
ncdu /                  # Анализ корневого каталога
ncdu /home/user         # Анализ конкретной папки

Интерфейс утилиты ncdu

  • Навигация:
    • ↑/↓ - перемещение по списку.
    • - войти в каталог.
    • - вернуться назад.
  • Сортировка:
    • n - по имени (по умолчанию).
    • s - по размеру (убывание).
    • C - по количеству элементов.
  • Действия:
    • d - удалить выбранный файл/каталог (с подтверждением).
    • r - пересканировать текущий каталог.
    • g - показать процентное соотношение (графическое представление).
    • a - показать скрытые файлы.
    • i - информация о выбранном элементе.
    • ? - справка.

Полезные опции

ncdu -o- / > report.ncdu   # Сохранить отчет в файл
ncdu -f report.ncdu        # Загрузить отчет из файла
ncdu -x /                  # Не выходить за пределы файловой системы (например, не анализировать /mnt)
ncdu --exclude *.log       # Исключить файлы по маске
ncdu --exclude-from=file   # Исключить пути из файла

Мониторинг файловой системы

ncdu не предназначен для непрерывного мониторинга, но полезен для:

  1. Периодической проверки: Запускайте ncdu / регулярно, чтобы отслеживать рост каталогов (например, /var/log, /tmp).
  2. Поиска проблемных мест: Сортировка по размеру (s) мгновенно покажет самые крупные каталоги.
  3. Автоматизации через отчеты: Сохраняйте отчеты (ncdu -o-) и сравнивайте их скриптами для отслеживания изменений.

Для реального мониторинга используйте инструменты вроде df (см. ниже), inotify, или системы мониторинга (Zabbix, Nagios).

Альтернативы ncdu и их использование

du (стандартная утилита)

du -sh /path/to/dir        # Размер каталога
du -sh * | sort -rh        # Размер всех подкаталогов в текущей папке (сортировка по убыванию)
du -h --max-depth=1 /      # Размер подкаталогов в корне (без рекурсии)
  • Плюсы: Предустановлен везде.
  • Минусы: Нет интерактивности, медленный на больших ФС.

df (свободное пространство)

df -h                      # Информация по всем смонтированным разделам
df -h /                    # Информация по конкретному разделу
  • Плюсы: Быстро показывает общую картину.
  • Минусы: Не анализирует содержимое каталогов.

gt5 (графический аналог ncdu)

sudo apt install gt5       # Установка
gt5 /path/to/dir           # Запуск

Особенности:

  • Двухпанельный интерфейс (сравнение каталогов).
  • Поддержка истории.
  • Клавиши: q (выход), d (удаление), r (пересканирование).

pydf (цветной df)

sudo apt install pydf
pydf                       # Вывод df с цветовой подсветкой
  • Плюсы: Удобное визуальное представление занятого/свободного места.

dust (быстрый du на Rust)

# Установка (через cargo)
cargo install du-dust

dust                       # Анализ текущего каталога
dust -r                    # Обратная сортировка (от меньшего к большему)
dust -d 2                  # Глубина анализа = 2 уровня

Плюсы:

  • Очень быстрый.
  • Цветной вывод.
  • Сортировка по умолчанию по размеру.

baobab (графический анализатор для GNOME)

sudo apt install baobab    # Установка
baobab                     # Запуск GUI

Особенности:

  • Круговые диаграммы.
  • Сканирование удаленных серверов (через SSH/SFTP).
  • Поддержка сканирования конкретных папок.

Filelight (KDE-аналог baobab)

sudo apt install filelight
filelight                  # Запуск

Особенности:

  • Визуализация в виде "концентрических кругов".
  • Интеграция с KDE.

Сравнение инструментов

ИнструментТипИнтерактивностьСкоростьОсобенности
ncduTUIдаВысокаяУдаление файлов, отчеты
duCLIнетНизкаяБазовый анализ
dfCLIнетМгновенноОбщая информация по разделам
gt5TUIдаСредняяСравнение каталогов
dustCLI/TUIдаОченьСовременный, цветной вывод
baobabGUIдаСредняяДиаграммы, удаленный доступ
FilelightGUIдаСредняяВизуализация в виде кругов

Рекомендации

  • Для быстрого анализа в терминале: ncdu или dust.
  • Для разовых проверок: du -sh или df -h.
  • Для визуального анализа: baobab (GNOME) или Filelight (KDE).
  • Для мониторинга в реальном времени:
    watch -n 60 'df -h /'  # Проверка раздела каждые 60 секунд