2.11.14. Аналіз дискового простору за допомогою 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 — увімкнення/вимкнення відображення прихованих елементів (файлів і каталогів з крапкою на початку або виключених зі сканування).
- g — режим відображення зайнятого місця: граф, відсотки, обидва варіанти, не відображати. Відсоток відноситься до поточного каталогу, граф — до найбільшого елемента в поточному каталозі.

- i — інформація про вибраний об'єкт (назва, повний шлях, тип, зайняте місце на диску і реальний розмір). У розширеному режимі (з ключем
-e) додатково виводяться права і дата зміни.
- r — повторне сканування поточного каталогу.
- d — видалення вибраного файлу або каталогу.
- c — увімкнення/вимкнення відображення кількості вкладених елементів для кожного каталогу (інодів).

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