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 — включення / відключення відображення прихованих елементів (файлів і каталогів з точкою на початку або виключених із перевірки).
  • 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-
Зміст