Ncdu - анализ жесткого диска в Linux-терминале

Ncdu - анализ жесткого диска в Linux-терминале

Ncdu — это анализатор использования места на жестком диске с ncurses-интерфейсом. Программа была создана для обнаружения причин нехватки места на жестком диске.

Установка Ncdu

sudo apt-get install ncdu

Ubuntu

yum install ncdu

Fedora, CentOS

pacman -S ncdu

Archlinux

brew install ncdu

MacOS
После установки программы в систему, можно сразу же приступать к непосредственному использованию. Запуск утилиты без определения флагов и параметров приведёт к тому, что она тут же приступит к сканированию дерева подкаталогов, начиная с текущего.
После того, как сканирование будет завершено, вы сможете при помощи стрелок и клавиши Enter перемещаться по дереву подкаталогов:
Ncdu - анализ жесткого диска в Linux-терминале
Нажатая клавиша i покажет подробную информацию о текущем элементе:
Ncdu - анализ жесткого диска в Linux-терминале

Клавиатурные сокращения

  • n

     — сортировка по имени в обоих направлениях;

  • s

     — сортировка по размеру в обоих направлениях;

  • d

     — удалить текущий файл или каталог;

  • t

     — включение/отключение вывода каталогов перед файлами;

  • g

     — включение/отключение вывода процентного соотношения и графика;

  • a

     — переключение между выводом реального размера элементов и занимаемым пространством на диске;

  • e

     — показать/скрыть скрытые и исключённые файлы

  • r

     — пересчитать текущий каталог.

Флаги и параметры

ncdu  в качестве единственного параметра принимает путь к каталогу для сканирования, например:

ncdu /usr/share

Поскольку работа du-подобных утилит может занимать много времени, в ncdu предусмотрен вывод в файл, коотрый можно позже просмотреть. Чтобы сохранить результаты работы ncdu в файл, используется флаг

-o

  с указанием путь к файлу в качестве параметра:

ncdu -o ~/tmp/ncdu.results /usr/share

Позже, когда утилита завершит свою работу и вам понадобится ознакомиться с результатами, вы можете открыть ранее сохранённый файл:

ncdu -f ~/tmp/ncdu.results

В качестве пути к файлу может быть указан

'-'

, но об этом немного ниже.

При помощи флага

-0

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

stdout

. Флаг

-1

поход на предыдущий с тем отличием, что построчно выводит в

stdout

информацию о процессе сканирования.

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

В случае, если вам необходимо отключить возможность удаления файлов и каталогов непосредственно из утилиты, добавьте при запуске флаг

-r

.

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

  • -x

     — ограничивает

    ncdu

    границами текущей файловой системы;

  • --exclude шаблон

     — позволяет определить шаблон имён файлов, подлежащих исключению из результатов сканирования; этот флаг можно использовать многократно

  • -X путь_к_файлу

     — действует аналогично предыдущему флагу, позволяя определить перечень шаблоном имён в отдельном файле

Сканирование удалённых ФС

Используя старый-добрый ssh и флаги ncdu, можно запустить ncdu на удалённой системе, а результаты просмотреть локально:

ssh -C user@system ncdu -o - / | ./ncdu -f -