2.10.19. Анализ дискового пространства с помощью ncdu
Утилита ncdu (NCurses Disk Usage) позволяет анализировать дисковое пространство в интерактивном режиме. Она отображает данные в псевдографическом интерфейсе и позволяет быстро перемещаться по древовидной структуре каталогов. Доступна по умолчанию на всех серверах обычного и бизнес-хостинга.
Запуск
Для запуска подключитесь к хостинг-аккаунту по SSH и выполните команду:
ncdu
После запуска ncdu сканирует дисковое пространство для дерева каталогов, начиная с текущего. Прервать сканирование можно клавишей q.
При запуске можно явно задавать, что нужно сканировать:
- Всё дисковое пространство хостинг-аккаунта независимо от текущего каталога:
ncdu ~
- Содержимое только определённого каталога:
ncdu ~/путь/к/каталогу
Ключи
Утилиту можно запускать с различными ключами:
–exclude=путь/к/каталогу
— исключить указанный каталог из сканирования.-o result.txt
— выполнить сканирование и сохранить результаты в указанный файл.-f result.txt
— вместо сканирования открыть результаты из указанного файла. Примечание По умолчанию утилита считает, что файл не имеет отношения к текущей файловой системе, поэтому клавиши повторного сканирования, удаления файлов/каталогов и открытия консоли будут отключены.-e
— расширенное сканирование. Дополнительно сканируются: время изменения файлов и каталогов, права доступа, информация о владельце. Внимание При работе с результатами сканирования из файла ключ должен использоваться как при сохранении, так и открытии.–exclude шаблон
— исключить из сканирования файлы и каталоги, совпадающие с шаблоном (они будут отображены, но не будут учтены в статистике). Ключ можно указывать несколько раз.-X файл
,–exclude-from файл
— исключить из сканирования файлы и каталоги, совпадающие с шаблонами, перечисленными в указанном файле (каждый шаблон с новой строки).-L
,–follow-symlinks
— при сканировании следовать по симлинкам и учитывать в статистике размеры файлов и каталогов, на которые они указывают.-r
— запрет удаления файлов и каталогов из утилиты (режим только для чтения).-rr
— запрет открытия консоли в текущем каталоге.–confirm-quit
— требовать подтверждение при выходе.
Полный список ключей можно посмотреть в справке, выполнив команду:
man ncdu
Интерфейс
После сканирования утилита выводит данные по всем каталогам в виде списка:
Информация выводится в несколько столбцов:
- В первом столбце могут выводиться специальные обозначения, среди которых:
e
— пустой каталог.@
— элемент не является файлом или каталогом (например, симлинк, сокет и т. д.).<
— файл/каталог исключён из статистики (см. ключи).!
— ошибка при чтении каталога..
— ошибка при чтении подкаталога (размер может быть неверным).
- Размеры и единицы измерения. Могут выводиться в одном из двух форматов:
- С использованием префикса 2 в виде степеней от 1024 (KiB, MiB и т. д.).
- С использованием префикса 10 в виде степеней от 1000 (KB, MB и т. д.).
- Граф — количество символов
#
показывает, какой из файлов/подкаталогов в текущем каталоге занимает больше места. - Название файла/каталога.
Внизу отображается информация о текущем каталоге:
- Объём занимаемого места на диске.
- Реальный размер содержимого каталога.
- Количество элементов (инодов).
Клавиши
- ↑, ↓, j, k — перемещение по списку вверх-вниз.
- →, l, Enter — переход в выбранный каталог.
- ←, h — возврат в родительский каталог.
- a — режим отображения размера: реальный размер или занимаемое место на диске. Примечание Информация на диске хранится блоками, поэтому занятое место может быть больше реального размера файла.
- n — сортировка по имени: по алфавиту или в обратном порядке.
- s — сортировка по размеру: по убыванию или возрастанию.
- e — включение/отключение отображения скрытых элементов (файлов и каталогов с точкой в начале или исключённых из сканирования).
- i — информация о выбранном объекте (название, полный путь, тип, занимаемое место на диске и реальный размер). В расширенном режиме (с ключом
-e
) дополнительно выводятся права и дата изменения. - r — повторное сканирование текущего каталога.
- d — удаление выбранного файла или каталога.
- C — сортировка по количеству вложенных элементов (инодов): по убыванию или возрастанию.
- t — включение/отключение отображения каталогов перед файлами: каталоги отображаются в начале списка или вместе с файлами.
- m — включение/отключения отображения времени последнего изменения файлов/каталогов (mtime). Внимание! Доступно только в расширенном режиме (с ключом
-e
). - M — сортировка по времени последнего изменения: по убыванию или возрастанию. Внимание! Доступно только в расширенном режиме (с ключом
-e
). - q — выход.
- b — открытие консоли в текущем каталоге (после выхода будет возврат в ncdu).
- ? — просмотр краткой справки.
Варианты использования
Сканирование всего содержимого хостинг-аккаунта с сохранением результатов в файл и его архивацией:
- Сканирование:
ncdu -1xo- ~ | gzip > result.gz
- Открытие файла для анализа:
zcat result.gz | ncdu -f-
Сканирование текущего каталога с сохранением результатов в файл и открытием для анализа:
ncdu -o- | tee result.txt | ncdu -f-