Linux: ncdu и pydf — отображение информации о занятом/свободном месте на дисках

Автор: | 01/16/2019
 

NCDU

NCDU — утилита для отображения занятого и свободного места на дисках, аналог du и df.

Аббревиатура NCDU расшифровывается как NCurse Disk Usage, и, очевидно, использует библиотеку ncurses для отображения данных.

Установка на Arch — с помощью pacman:

sudo pacman -S ncdu

Debian/Ubuntu:

sudo apt install ncdu

Запускаем:

После проверки данных — ncdu выведет окно с данными по дискам и каталогам:

По каталогам можно перемещаться с помощью клавиатуры, и переходить между ними по Enter:

Аналогично du/df — можно использовать exclude, если надо исключить раздел из вывода.

Например — на одном из серверов подключен AWS EFS, как отдельный диск, и смонтирован в /storage.

Что бы отобразить информацию по всем дискам, но пропустить /storage (т.к. EFS, в котором порядка 10 млн файлов и ~ 50 ГБ занятого места будет проверяться долго) — вызываем:

root@bttrm-dev-app-1:/home/admin# ncdu / --exclude=/storage

Что бы сохранить результаты в файл — используем -o:

root@bttrm-dev-app-1:/home/admin# ncdu / --exclude=/storage -o ncdu-results.txt
/proc/31606/map_files/7f7549fdc000-7f7549fde000                     255631 files

Проверяем:

root@bttrm-dev-app-1:/home/admin# head -n 5 ncdu-results.txt
[1,0,{"progname":"ncdu","progver":"1.12","timestamp":1547632944},
[{"name":"/","asize":4096,"dsize":4096,"dev":51713,"ino":2},
{"name":"vmlinuz.old","asize":26,"ino":8496,"notreg":true},
[{"name":"bin","asize":4096,"dsize":4096,"ino":262183},
{"name":"lessfile","asize":8,"ino":271516,"notreg":true},

Что бы отобразить информацию с помощью самого ncdu из файла с помощью -f:

root@bttrm-dev-app-1:/home/admin# ncdu -f ncdu-results.txt

Утилитка быстрая, полезная, приятная.

pydf

Вторая полезная утилита — pydf, аналог df, но отображает занятое-свободное место более наглядно, используя список смонтированных файловых систем из файла /etc/mtab или /proc/mounts.

Устанавливаем на Arch:

sudo pacman -S pydf

Или Debian/Ubuntu:

apt install pydf

И запускаем:

Готово.