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

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

NCDU

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

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

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

[simterm]

$ sudo pacman -S ncdu

[/simterm]

Debian/Ubuntu:

[simterm]

$ sudo apt install ncdu

[/simterm]

Запускаем:

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

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

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

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

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

[simterm]

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

[/simterm]

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

[simterm]

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

[/simterm]

Проверяем:

[simterm]

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},

[/simterm]

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

[simterm]

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

[/simterm]

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

pydf

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

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

[simterm]

$ sudo pacman -S pydf

[/simterm]

Или Debian/Ubuntu:

[simterm]

# apt install pydf

[/simterm]

И запускаем:

Готово.