- Размер файловых данных и используемое место на диске
- Инструменты командной строки
- Информация о свободном дисковом пространстве: df
- Информация о занятом пространстве: du
- Поиск больших файлов
- Поиск дубликатов файлов: fdupes
- Графические инструменты
- Информация о занятом пространстве: baobab
- Поиск дубликатов файлов: fslint
- Чем занято место на диске Linux
- 1-й способ. Утилита du — подсчет занимаемого места.
- 2-й способ. Утилита ncdu — анализ занятого места и его освобождение
- 3-й способ. Графические утилиты.
- 6 приложений для анализа жесткого диска в Linux
- Командная строка
- Baobab
- KDirStat и GdMap
- Filelight
- Philesight
- xdiskusage
Размер файловых данных и используемое место на диске
Инструмент du, описанный далее, по умолчанию работает с занятым местом на диске, а не с размером файловых данных.
Инструменты find и baobab, описанные далее, оперируют размерами файловых данных, а не с занятым на диске местом, и при наличии разреженных файлов с высокой вероятностью выдают искаженные результаты.
Инструменты командной строки
Информация о свободном дисковом пространстве: df
Для получения информации о свободном дисковом пространстве используется команда df (Disk Free).
Наиболее употребительно применение команды с опцией -h, задающей вывод информации в удобном для чтения формате. Для каждой примонтированной файловой системы команда выводит следующую информацию:
- название файловой системы;
- общий размер файловой системы;
- заполненный объем;
- доступный объем;
- процент заполнения;
- точка монтирования;
Пример применения команды:
df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
udev 16G 0 16G 0% /dev
tmpfs 3,2G 22M 3,2G 1% /run
/dev/sda1 67G 49G 15G 78% /
tmpfs 16G 8,9M 16G 1% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
Информация о занятом пространстве: du
Для получения информации о дисковом пространстве, занятом файловыми объектами, используется команда du (Disk Used).
Пример использования команды для оценки пространства, занятого домашним каталогом пользователя user:
- -c — выводить общий итог;
- -h — выводить в удобном для чтения формате (например, 1K 234M 2G);
- -s — для каждого указанного объекта выводить только общий итог (т.е. для каталогов — не выводить размеры содержащихся в них файловых объектов);
Пример использования для более подробной проверки (отличие в задании файлового объекта для проверки — задан не домашний каталог пользователя /home/user, а все подкаталоги домашнего каталога):
sudo du -sh /home/user/* | sort -rh | head
22G /home/user/Загрузки
18G /home/user/Проекты
4,7G /home/user/ISO
4,2G /home/user/Документы
3,3G /home/user/docs
1,6G /home/user/Звукозапись
1,1G /home/user/tmp
305M /home/user/qt5
85M /home/user/parf
68M /home/user/Архив
В примере применена дополнительная фильтрация результатов, позволяющая выбрать 10 самых крупных объектов:
- команда sort -rh — сортировка строк с результатами:
- -r — сортировка по убыванию;
- -h — сортировка «удобно читаемых чисел» (например, 3K меньше, чем 2M, а 2M меньше, чем 1G);
Подробные справки по командам доступны в справочной система man:
Поиск больших файлов
Для поиска больших файлов можно использовать команду find. Пример:
sudo find /home/user -mount -type f -size +1G
/home/user/Загрузки/20210723SE30MD/20210730SE16.iso
/home/user/Загрузки/20210723SE30MD/repository-update-dev.iso
/home/user/Загрузки/test.qcow2
/home/user/.recoll/xapiandb/position.glass
/home/user/.recoll/xapiandb/termlist.glass
/home/user/.recoll/xapiandb/postlist.glass- /home/user — каталог, в котором выполняется поиск файловых объектов;
- -mount — не искать файловые объекты в других файловых системах (если такие файловые системы примонтированы в подкаталоги — они будут проигнорированы);
- -type f — искать только файловые объекты типа файл;
- -size +1G — искать только файлы с размером более 1G.
Подробная справка по команде доступна в справочной система man:
Поиск дубликатов файлов: fdupes
Для поиска дубликатов файлов можно использовать команду fdupes. По умолчанию эта программа не устанавливается, для установки использовать команду:
Подробная справка по команде доступна в справочной система man:
Графические инструменты
Графические инструменты не входят в состав дистрибутивов Astra Linux и могут быть установлены из репозитория Debian (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов).
Информация о занятом пространстве: baobab
После подключения репозитория Debian установить пакет:
После установки инструмент доступен в графическом меню «Пуск» — «Системные» — «Анализатор использования дисков».
После запуска инструмент предлагает выбрать объект для анализа:После выполнения анализа предоставляется список объектов с диаграммой сравнительных размеров:
Далее возможны движение по иерархии объектов, выбор и анализ объектов, удаление объектов и т.д.
Для анализа файлов, не принадлежащих текущему пользователю, инструмент может быть запущен с привилегиями суперпользователя из командной строки:
Поиск дубликатов файлов: fslint
После подключения репозитория Debian установить пакет:
После запуска инструмент автоматически настроен на проверку домашнего каталога текущего пользователя, при необходимости можно составить свой список каталогов для поиска дубликатов:
Поиск дубликатов инициируется нажатием на кнопку «Найти», в списке найденных объектов отображается их размер:
Для анализа файлов, не принадлежащих текущему пользователю, инструмент может быть запущен с привилегиями суперпользователя из командной строки:
Чем занято место на диске Linux
Ситуация, когда на разделах Linux заканчивается место может быть очень часто встречаемой. На вебсерверах такая проблема возникает еще чаще, т.к. большое количество посетителей и ошибки в программах могут приводить к огромному росту лог-файлов и т.д. и появляется необходимость определить чем занято место на диске Linux, чтобы удалить ненужные данные и освободить место. Есть несколько вариантов как это сделать.
1-й способ. Утилита du — подсчет занимаемого места.
Воспользоваться встроенной утилитой du. Сделать это достаточно просто. Например, чтобы определить в текущей папке занимаемое место всеми подкаталогами и файлами, нужно использовать команду:
Вывод этой команды будет примерно такой:
514 folder1 893 folder2 44 file1.sh 53 file2.txt
Немного поясню использованные ключи:
s — означает, что нужно вывести суммарное занимаемое место, т.е. например, не показывать каждый файл из папки folder1 и занимаемое им место, а показать, сколько всего места занимают все файлы в папке folder1
m — означает вывод данных в Мб, можно использовать вместо него ключи b (в байтах) и k (в килобайтах)
* — означает подсчитать все объекты в текущем каталоге. Если не указать * , то будет подсчитано все занимаемое место текущего каталога. Так же, можно подсчитать сколько места занимает конкретная папка со всеми файлами и подкаталогами в ней, для чего нужно написать вместо * название нужного каталога.Когда папок и файлов много, можно отсортировать результаты, чтобы было проще определить, какая папка или файл заняли больше всего места:
du -sm * | sort -n
Эта простая команда поможет вам выяснить, чем занято место в конкретной папке или на всем разделе Linux. Команда универсальна, проста в использовании и есть в любых дистрибутивах Linux.
2-й способ. Утилита ncdu — анализ занятого места и его освобождение
Есть так же и другие способы определить чем занято место на диске, например, очень удобная в плане анализа занятого места — утилита ncdu. Установить ее можно, например, так:
- Для Debian систем (rpm-пакеты) (в т.ч. Ubuntu) командой apt-get install ncdu
- Для Red Hat систем (dpkg-пакеты) командой yum install ncdu
Дальше просто запустите ncdu и подождите, когда она подсчитает занимаемое место. По-умолчанию программа посчитает размеры папкой текущей папки, из которой программа была запущена. Если нужно посчитать какую-то другую папку, просто добавьте к команде путь к папке, например, так: ncdu /var/www. Если нужно посчитать занимаемое место на всем диске, можно использовать ncdu /.
Программа показывает занимаемое папками место, позволяет заходить в них и сразу видеть сколько подпапки занимают места. Так же в этой утилите можно выполнять различные действия над файлами и папками. Получить справку по клавишам управления можно нажав «?«. Ниже приведу список некоторых из клавиш управления:
- d — удалить выбранный файл или папку с файлами;
- n — отсортировать файлы и папки по имени;
- s — отсортировать файлы и папки по объему занимаемого места;
- t — показывать сначала папки, затем файлы;
- g — режим отображения (в процентах, графически, комплексно);
- a — режим отображения (размер файла, занятое место на жестком диске)
- e — включить/отключить отображение скрытых файлов;
- i — показать дополнительную информацию о папке или файле;
- r — заново пересчитать занимаемое место;
- q — выйти из программы;
Программа очень удобная, простая и выполняет задачу по анализу и освобождению свободного места полностью, рекомендую ее к использованию.
3-й способ. Графические утилиты.
Есть большое количество графических программ, которые позволяют делать примерно то же, что ncdu, только в графике. В Ubuntu, например, есть графическая программа, которая находится в Приложения > Системные утилиты > Анализатор использования диска. Кроме того, есть много и других программ. Приведу небольшой список, чтобы вы могли их попробовать и выбрать, какая больше нравится:
- В системах с Gnome обычно есть утилита Baobab, которая графически покажет занимаемое папками место, так же выводит диаграмму;
- Утилита KDirStat для KDE (WinDirStat для Windows) — в отличие от Baobab показывает вместо диаграммы прямоугольники, размер которых соответствует занимаемому папками пространства;
- Gd Map — аналог KDirStat для Gnome;
- Filelight и Philesight — аналоги Baobab (показывает папки в виде диаграммы).
Вот пожалуй, основной набор способов определения занятого места на дисках Linux. Можно конечно найти еще множество других способов, здесь я привел самые основные и распространенные.
6 приложений для анализа жесткого диска в Linux
Вы недавно купили винт на терабайт, но при попытке установить новую программу появляется сообщение «Your disk is full». Знакомая ситуация?
При покупке жесткого диска, я обычно стараюсь взять самый большой, чтобы было где разместить всю коллекцию видео и музыки, а также была возможность устанавливать и тестировать любое ПО. Однако, я заметил, что независимо от того, насколько велик жесткий диск, свободное место на нем быстро заканчивается.Если у вас та же проблема, значит пришло время проанализировать загрузку жесткого диска, и удалить все лишнее.
Далее по тексту, несколько способов сделать это в Linux.Командная строка
Если вы истинный линуксоид, самый легкий и быстрый способ – использовать команду «df» в командной строке. Просто напечатать:
в терминале, и он покажет вам загрузку жесткого диска в процентах
Как видно из представленного выше скриншота, способ может служить лишь в качестве быстрого просмотра доступного места на диске и определенно не является самым удобным для проведения анализа жесткого диска.
Baobab
Большинство линукс-дистрибутивов с Gnome(в частности Убунту), используют Baobab в качестве дефолтного приложения для просмотра диска.Это замечательное приложение, способное до последней папки разделить и проанализировать структуру хранения данных на жестком диске. Просто укажите папки необходимые для сканирования, и в результате получите круговую диаграмму, отражающую количество занимаемого места каждым файлом.
KDirStat и GdMap
Если вы использовали WinDirStat в Windows, то согласитесь, что это очень удобное приложение, позволяющее анализировать и оптимизировать ваше дисковое пространство. Однако мало людей знают, что WinDirStat это на самом деле клон KDirStat. KDirStat обладает той же функциональностью что и WinDirStat (или может быть наоборот), за исключением того, что он предназначен для использования в Linux. Несмотря на то, что KDirStat разрабатывался для KDE, он также совместим с любым оконным менеджером X11.
KDirStat отображает ваши папки/файлы в виде прямоугольников. Чем больше размер файла, тем больше прямоугольник. Это позволяет вам быстро просмотреть файловую систему, и легко определить какая папка/файл занимают много места на жестком диске.
Gd Map это эквивалент KDirStat для Gnome, кроме того что он не отображает древовидную структуру папок, и не позволяет очищать жесткий диск.
Filelight
Подобно Baobab, Filelight, создает интерактивную карту концентрических, сегментированных колец, помогающих визуализировать использование диска на вашем компьютере.Вы легко можете приблизить нужные папки, путем клика на соответствующем сегменте колец.
Philesight
Philesight это реализация Filelight в качестве веб-приложения, может быть запущена на удаленном сервере, не имеющим графического интерфейса. Philesight использует командную строку для генерации PNG-файлов в браузере и включает CGI-скрипты для навигации по файловой системе. Одна из ее особенностей, красочная радуга концентрических колец, что делает ее весьма приятной на вид.
xdiskusage
xdiskusage маленькая программка, отображающая файловую систему иерархически, слева направо, прямоугольными фигурами, с размерами, соответствующими размеру файлов. Если вы сканируете домашнюю папку, слева будет находится прямоугольник, отображающий полностью папку home, а справа все файлы, находящиеся внутри нее.
Вы легко можете приближать/удалять, нужные папки, по двойному щелчку на соответствующем прямоугольнике.