Автор Тема: Анализ дискового пространства в Linux  (Прочитано 10440 раз)

Оффлайн vita

  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4814
  • Да будет свет!
Для анализа дискового пространства в Linux рядовые пользователи традиционно предпочитают профильные утилиты с графическим интерфейсом.
В среде Mate это Анализатор использования дисков Mate (mate-disk-usage-analyzer) - форк утилиты Baobab для среды GNOME

Управляется через меню. Может анализировать как всё дерево файловой системы, так и определённый каталог в ней (локальный или удалённый). Также следит в режиме реального времени за изменениями в домашнем каталоге пользователя и на любом примонтированном устройстве. Строит для каждого выбранного каталога его графическое представление в виде дерева.
В некоторых ситуациях требуется провести анализ дискового пространства из консоли, для чего нужно предварительно установить утилиту ncdu : sudo apt install ncduНаименование утилиты расшифровывается как NCurse Disk Usage, где NCurse — указание на использование инструментом библиотеки ncurses, а Disk Usage — на её близость к du, встроенной в большинство версий Linux утилите для оценки объёма занимаемого дискового пространства, от которой ncdu отличается значительно большим удобством, т.к. к использованию предлагается псевдографический интерфейс, позволяющий быстро перемещаться по древовидной структуре каталогов.
Запускается NCDU утилита через терминал одноимённой командой ncdu и показывает результаты сканирования в виде списка с указанием относительного пути и размера каждого объекта.
В расположенной внизу панели указывается общий и фактический (Apparent size) размер текущего каталога, а также количество имеющихся в нём элементов включая папки и файлы.
Для навигации по файловой системе в ncdu используются клавиши-стрелки. Клавиши вверх-вниз служат для выбора объекта, клавиши вправо-влево — для входа в выбранные каталоги и выхода из них.
Также для входа в папки можно использовать Enter. Помимо клавиш-стрелок и ввода, утилитой поддерживается ещё целый ряд «горячих» клавиш, упрощающих работу с приложением.
Вот некоторые из них:
n и s — сортировка по имени и размеру;
d — удаления выделенного объекта;
k и j — то же, что и клавиши вверх-вниз;
i — вывод сведений о файле или папке;
e — показ только скрытых файлов;
g — переключение в режим отображения занятого места в процентах;
a — переключение в режим отображения реального занятого места на диске в байтах;
r — повторный расчет занимаемого места;
q и b — выход из программы в консоль.
Для расширения возможностей ncdu используются аргументы или параметры. Указываются они после команды через дефис по отдельности или вместе, например, ncdu -q или ncdu -1xo.
Вот наиболее востребованные аргументы ncdu:
-0 — отключает вывод информации при сканировании файловой системы;
-1 — изменяет режим вывода информации при сканировании файловой системы;
-q — включает тихий режим сканирования, обычно используется при работе с удаленными системами;
-r — данные в консоли выводятся в режиме «только для чтения», что предотвращает случайное удаление файлов и папок;
-o путь к файлу — экспорт результатов работы в лог;
-f путь к файлу — вывод данных из созданного ранее лога;
-- exclude шаблон — исключает из результатов сканирования размер объектов, названия которых соответствуют маске шаблона, однако сами объекты отображаются в списке.
Чтобы получить больше информации о поддерживаемых аргументах и «горячих» клавишах, выполните в терминале команду man ncdu Она выведет справку по утилите.
Использовать ncdu можно не только для анализа разделов Linux, но и  Windows-разделов. Если Windows установлена параллельно с Linux, можно в Linux выполнить команду: ncdu /media и получить доступ к смонтированным томам с Windows.
P.s.: Также ncdu может использоваться для анализа содержимого дисков на компьютерах под управлением Windows 10 при условии, что в ней будет активирован компонент WSL. Установив из Windows Store дистрибутив Debian или другую популярную версию Linux, вы сможете запускать ncdu из-под неё, получая доступ к файловой системе разделов С и D хостовой операционной системы.
Источником информации об утилите ncdu послужила статья Дмитрия Демченко.

Вторая полезная утилита — pydf, аналог df, но отображает занятое-свободное место более наглядно, используя список смонтированных файловых систем из файла /etc/mtab или /proc/mounts. Устанавливается командой: sudo apt install pydf и запускается одноимённой командой pydf.
Делай с нами, делай как мы, делай лучше нас!

Оффлайн В. Юрганов

  • Постоялец
  • ***
  • Сообщений: 144
Re: Анализ дискового пространства в Linux
« Ответ #1 : 03 Декабря 2020, 06:11:07 »
ага, nsdu - очень удобно. запускаешь, и получаешь вывод, где вверху - самые большие папки, входишь в них, и снова видишь самые большие. 5 сек - и ты уже знаешь, что забило тебе хард.
Единственно - лучше терминал развернуть на весь экран. Удобнее

Оффлайн ivm

  • Ветеран
  • *****
  • Сообщений: 3073
  • Что бы ни случилось, всё будет хорошо!
Re: Анализ дискового пространства в Linux
« Ответ #2 : 04 Декабря 2020, 21:43:06 »
Есть ещё CrossDirStat - кроссплатформенная программа. Это относительно новый инструмент. Он имеет красивый дизайн материалов в стиле Android и отображает использование диска в красочных прямоугольниках. Эта программа проста в использовании, а основные настройки можно найти на стартовом экране. Так что вам не нужно искать настройки.


Меня привлекла возможность использования приложения без его установки в системе, т.е. запуском пакета Appimage.
Скачать можно на гитхабе.
Протестировал в Matuntu-F пакет crossdirstat-1.5.0.AppImage, выпущенный 23 дня назад.

Результаты сканирования выбранного через обзор домашнего каталога показаны по степени убывания.


Есть и визуальный просмотр в цветных прямоугольниках, при наведении на которые высвечивается имя и расположение файла.