Линукс как узнать объем жесткого диска
Перейти к содержимому

Линукс как узнать объем жесткого диска

  • автор:

Как узнать размер папки в Linux

В операционных системах на базе Linux посмотреть размер папки (директории) можно с помощью команды du. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.

Синтаксис

Общий синтаксис команды du следюущий:
du
du имяПапки
du [ключи] имяПапки

Примеры использования

Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:

8 ./share/gegl-0.2/plug-ins 12 ./share/gegl-0.2 16 ./share/rhythmbox 56 ./share/icons/hicolor/16x16/apps 60 ./share/icons/hicolor/16x16 208 ./share/icons/hicolor/256x256/apps 212 ./share/icons/hicolor/256x256 64 ./share/icons/hicolor/48x48/apps 68 ./share/icons/hicolor/48x48 56 ./share/icons/hicolor/32x32/apps 60 ./share/icons/hicolor/32x32 404 ./share/icons/hicolor 408 ./share/icons

Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:

du ~/.local du /home

Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:

du -h du -h /home
8.0K ./.vim 24K ./scripts 48K ./.ssh 16K ./.keychain 2.2M ./.lftp 2.4M .

Для того, чтобы узнать общий размер, который занимает определенная папка вызовите команду du с ключем -s:

du -s /home
291210112 /home/

Лучше будет запустить команду du с ключами -s и -h совместно:

du -hs /home

Тогда вывод воспринять легче:

278G /home/

Ключ -c используется для подсчета общей суммы размеров папок так:

du -chs /etc /root/
56M /etc 62M /root/ 118M итого

Другая удобная опция команды du это ключ —max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:

du -h --max-depth=1

Пример результатов работы:

2.9M ./.nbi 948K ./.local 104K ./.gconf 12K ./.gnome2 4.0K ./.gnome2_private 44K ./.filezilla 356K ./.cache 12K ./Desktop 4.0K ./.gvfs 1.2M ./.gem 12K ./.dbus 86M ./.cpan 26M ./perl5 1.5M ./.java 80K ./.config 16K ./.ssh 4.0K ./.pulse 165M .
Ключи команды du
Ключ Действие
-a, —all Вывести размер для всех файлов, а не только папок
—apparent-size Вывести действительные размеры, а не занимаемое на диске место; хотя действительный размер обычно меньше, иногда он может быть больше из-за дыр в файлах, внутренней фрагментации, косвенных блоков и тому подобного
-B, —block-size=РАЗМЕР Выводить результаты в определенных единицах измерения. Например, -BM выводит размеры в единицах, равных 1,048,576 байтам, т.е. в мегабайтах
-b, —bytes Эквивалентно —apparent-size —block-size=1
-c, —total Выводить общий итог
-D, —dereference-args Следовать только по символьным ссылкам, которые перечислены в командной строке
—files0-from=ФАЙЛ Вывести отчёт об использовании диска, чьи имена файлов перечислены в файле ФАЙЛ
-H Эквивалентен ключу —dereference-args (-D)
-h, —human-readable Выводить размеры в удобном для человека виде (например, 1K 234M 2G)
—si Как -h, но используется делитель 1000, а не 1024
-k Синоним —block-size=1K
-l, —count-links Суммировать размеры, если есть несколько жёстких ссылок на один объект
-m Синоним —block-size=1M
-L, —dereference Следовать по символьные ссылки
-P, —no-dereference Не следовать по символьным ссылкам (по умолчанию)
-0, —null Завершать каждую выводимую строку 0-м байтом, а не символом новой строки
-S, —separate-dirs Не включать размер папок
-s, —summarize Выводить размер только для папки, переданной в качестве аргумента
-x, —one-file-system Оставатся в пределах одной файловой системы
-X, —exclude-from=ФАЙЛ Исключать файлы, совпадающие с каким-либо образцом из ФАЙЛА
—exclude=ОБРАЗЕЦ Исключать файлы, соответствующие ОБРАЗЦУ
-d, —max-depth=N Глубина следования по субдиректориям
—time Показывать время последней модификации всех файлов в каталоге или всех его подкаталогов
—help Показать эту справку и выйти
—version Показать информацию о версии программы du

Похожие записи:

  1. VestaCP установка и настройка
  2. Настройка сети в Linux – команда ifconfig
  3. Утилита wget в Linux
  4. Перенаправление потоков в Linux. Вывод команды в файл

Анализ дискового пространства в Linux – команды du и ncdu

Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В Linux для таких целей давно существуют утилиты с удобным графическим интерфейсом, предоставляющих наглядную информацию о занятом пространстве в виде диаграмм и графиков. Однако, для системных администраторов, обслуживающих «серьёзные» сервера на основе Linux-систем, графический интерфейс — чрезмерное удовольствие, не оправдывающее затрачиваемых на него ресурсов. Поэтому необходимо уметь обходиться средствами командной консоли, используя специализированные консольные утилиты для анализа дискового пространства, которые доступны в виде двух команд — du и ncdu.

как посмотреть свободное место на диске

Давайте узнаем сколько у нас свободного места в системе. Узнать это можно с помощью команды

df –h

как видим у нас диск занят на 97%, и нам необходимо узнать что у нас заняло место. Давайте этим займемся.

Команда du – синтаксис и опции

Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.

Итак давайте узнаем что у нас занимает место

du --max-depth=1 -h /

Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий

Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var

du --max-depth=1 -h /var

видим что это папка log

Теперь смотрим /var/log

du -ah /var/log

и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.

Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:

du [КЛЮЧ]… [что сканировать]…

Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:

du code_text.txt 4 code_text.txt

Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:

Опция Назначение
-a Выводит объём для всех элементов, а не только для каталогов
—apparent-size Выводит действительные размеры, но не занимаемое место а диске
-B,

Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.

Примеры использования команды du

Узнать общий размер каталога (например с резервными копиями):

$ du -sh ~/home/backups 19G /home/john/backups

Вывод размеров всех подкаталогов (рекурсивно):

$ du -h ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups

С учётом файлов:

$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 3,2M /home/john/backups/vhosts/ssl 1,5M /home/john/backups/vhosts 5,0M /home/john/backups

С фильтрацией в зависимости от размера файла/каталога:

$ du -ha -t2M ~/home/backups/ 3,2M /home/john/backups/vhosts/ssl 5,0M /home/john/backups

Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:

$ du -ha ~/home/backups/ 4,0K /home/john/backups/.directory 764K /home/john/backups/scheme.txt 1,5M /home/john/backups/vhosts

Команда ncdu

Более удобный способ найти что занимает место на диске можно с помощью команды ncdu. Утилита ncdu (Ncurses Disk Usage) способна делать всё то же самое, что и утилита du и даже немного больше. К тому же, она предоставляет пользователю удобный в использовании псевдографический интерфейс, с помощью которого можно быстро перемещаться по дереву системы, оценивая размеры интересующих элементов и папок.

Фактически, ncdu может выполнять функции полноценного браузера системы, при этом имеет большое количество опций, позволяющих настраивать псевдоинтерфейс для разных режимов работы, экспортировать и импортировать результаты работы в файлы, выполнять сортировки, экономить сетевой трафик, если это нужно, когда анализируется удалённая (например по SSH) система.

По-умолчанию, выполнение команды ncdu без параметров, выводит файловый браузер, в котором после предварительного сканирования (с показом прогресса выполнения) отображается список элементов и подкаталогов текущего каталога. По этому списку можно перемещаться, используя клавиши курсора, спускаться в подкаталоги () выходить из них, при этом информация о размере представленных элементах и папок отображается «как на ладони». В строке состояния отображается общий используемый объём (Total disk usage), фактический объём (Apparent size), а также количество файлов и папок для текущего анализируемого каталога.

Основные опции команды ncdu:

Опция Назначение
-o ФАЙЛ Позволяет экспортировать результаты работы в указанный файл
-f ФАЙЛ Загружает из файла для отображения данные ранее экспортированные с помощью опции -o
-0 Не никаких информационных сообщений при сканировании файловой системы
-1 Подобна опции -0, но выдаёт единственную строку о статусе выполненного действия. По-умолчанию используется при экспорте в файл
-q Тихий режим. Во время сканирования директории экран с результатами сканирования будет обновляться каждые 2 секунды, вместо 10 раз за секунду. Обычно используется при работе с удаленными системами
-r Включает режим «только для чтения» для отключения встроенной функции удаления. Не работает с опцией -o
-x Не выходить за рамки текущей используемой файловой системы
—exclude ШАБЛОН Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону, но эти файлы будут отображаться в списке
-X ФАЙЛ,

Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.

Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.

Примеры команд ncdu

Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /

Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log

А здесь мы видим наши большие логи

Еще несколько полезных примеров.

Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:

$ ncdu -1xo- / | gzip > usage_fs.gz $ zcat usage_fs.gz | ncdu -f-

Сканирование текущей директории, экспорт результатов в лог, и последующий просмотр этих результатов в браузере ncdu:

$ ncdu -o- | tee usage_fs.txt | ncdu -f-

Работа с удалённой системой:

ssh -C username@hostname ncdu -o- / ncdu -f-

В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

  1. Форматирование и разметка диска в Linux
  2. Очистка файловых систем в Linux
  3. Команда fdisk. Управление разделами жёсткого диска
  4. Узнать размер дисков в Linux. Команда df

6 приложений для анализа жесткого диска в Linux

image

Вы недавно купили винт на терабайт, но при попытке установить новую программу появляется сообщение «Your disk is full». Знакомая ситуация?
При покупке жесткого диска, я обычно стараюсь взять самый большой, чтобы было где разместить всю коллекцию видео и музыки, а также была возможность устанавливать и тестировать любое ПО. Однако, я заметил, что независимо от того, насколько велик жесткий диск, свободное место на нем быстро заканчивается.Если у вас та же проблема, значит пришло время проанализировать загрузку жесткого диска, и удалить все лишнее.
Далее по тексту, несколько способов сделать это в Linux.

Командная строка

Если вы истинный линуксоид, самый легкий и быстрый способ – использовать команду «df» в командной строке. Просто напечатать:

в терминале, и он покажет вам загрузку жесткого диска в процентах

Далее по тексту, несколько способов сделать это в Linux.

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

Baobab

Большинство линукс-дистрибутивов с Gnome(в частности Убунту), используют Baobab в качестве дефолтного приложения для просмотра диска.Это замечательное приложение, способное до последней папки разделить и проанализировать структуру хранения данных на жестком диске. Просто укажите папки необходимые для сканирования, и в результате получите круговую диаграмму, отражающую количество занимаемого места каждым файлом.

Далее по тексту, несколько способов сделать это в Linux.

KDirStat и GdMap

Если вы использовали WinDirStat в Windows, то согласитесь, что это очень удобное приложение, позволяющее анализировать и оптимизировать ваше дисковое пространство. Однако мало людей знают, что WinDirStat это на самом деле клон KDirStat. KDirStat обладает той же функциональностью что и WinDirStat (или может быть наоборот), за исключением того, что он предназначен для использования в Linux. Несмотря на то, что KDirStat разрабатывался для KDE, он также совместим с любым оконным менеджером X11.

KDirStat отображает ваши папки/файлы в виде прямоугольников. Чем больше размер файла, тем больше прямоугольник. Это позволяет вам быстро просмотреть файловую систему, и легко определить какая папка/файл занимают много места на жестком диске.

Далее по тексту, несколько способов сделать это в Linux.

Gd Map это эквивалент KDirStat для Gnome, кроме того что он не отображает древовидную структуру папок, и не позволяет очищать жесткий диск.

Filelight

Подобно Baobab, Filelight, создает интерактивную карту концентрических, сегментированных колец, помогающих визуализировать использование диска на вашем компьютере.Вы легко можете приблизить нужные папки, путем клика на соответствующем сегменте колец.

Philesight

Philesight это реализация Filelight в качестве веб-приложения, может быть запущена на удаленном сервере, не имеющим графического интерфейса. Philesight использует командную строку для генерации PNG-файлов в браузере и включает CGI-скрипты для навигации по файловой системе. Одна из ее особенностей, красочная радуга концентрических колец, что делает ее весьма приятной на вид.

xdiskusage

xdiskusage маленькая программка, отображающая файловую систему иерархически, слева направо, прямоугольными фигурами, с размерами, соответствующими размеру файлов. Если вы сканируете домашнюю папку, слева будет находится прямоугольник, отображающий полностью папку home, а справа все файлы, находящиеся внутри нее.
Вы легко можете приближать/удалять, нужные папки, по двойному щелчку на соответствующем прямоугольнике.

Узнать размер дисков в Linux. Команда df

Команда df сообщает объем используемого и доступного дискового пространства в файловых системах. Она позволяет увидеть общий размер дисков, сколько места на них занято и сколько свободно. Также с помощью этой команды можно увидеть и точки монтирования.

Синтаксис

df [ОПЦИЯ]. [ФАЙЛ].

Команда отображает информацию об использовании дискового пространства в файловой системе, содержащей каждый из указанных в аргументах файлов. Если имя не указано, отображается доступное пространство всех смонтированных файловых систем. Если аргумент – абсолютное имя диска, содержащего файловую систему, df показывает объем доступного пространства в этой файловой системе, а не в файловой системе, содержащей устройство (это всегда корневая файловая система). df не может показать доступное пространство размонтированных файловых систем, потому что в большинстве случаев это требует очень подробной информации о структурах файловой системы.

Опции команды

-a, —all – включить фиктивные, дублированные, недоступные файловые системы.
-B, —block-size=РАЗМЕР – указывает размер блоков, в которых выводится объем. Например, -BM выводит устанавливает размер блока в 1,048,576 байт (1 Мб).
—total — вывести общий итог
-h, —human-readable вывести размеры в читаемом формате (например, 1K 234M 2G).
-H, —si – аналогично -h, но для подсчета килобайт, мегабайт и т.д. используются степени 1000, а не 1024.
-i, —inodes – вывести информацию об индексных дескрипторах (инодах), а не использовании блоков.
-k – задать размер блока 1 Кб (аналогично —block-size=1K).
-l, —local – выводить данные только для локальных файловых систем
—no-sync – не выполнять синхронизацию перед получением информации об использовании пространства, опция по умолчанию.
-P, —portability – использовать формат вывода POSIX.
—sync – выполнить синхронизацию перед получением информации об использовании пространства.
-t, —type=ТИП – выводить только файловые системы указанного типа.
-T, —print-type – показывать тип файловой системы.
-x, —exclude-type=ТИП – исключить из вывода файловые системы указанного типа.
—o=[СПИСОК_ПОЛЕЙ], —output=[СПИСОК_ПОЛЕЙ] – выводить поля из списка. Если список не задан, выводятся все доступные поля. Значения указываются через запятую, возможные варианты следующие:
source – источник точки монтирования, обычно устройство;
fstype – тип файловой системы;
itotal – общее количество инодов;
iused – количество используемых инодов;
ipcent – процент используемых инодов;
size – общее количество блоков;
used – количество используемых блоков»
avail – количество свободных блоков;
pcent – процент использованных блоков;
itotal – общее количество инодов;
iused – количество используемых инодов;
ipcent – процент используемых инодов;
file – имя файла (если было указано);
target – точка монтирования.
—help – отобразить справочную информацию и выйти.
—version – отобразить информацию о версии и выйти.

Размеры выводятся в единицах, указанных в опции –block-size или заданных в переменных среды DF_BLOCK_SIZE, BLOCK_SIZE и BLOCKSIZE. Если эти переменные не заданы, используются блоки по 1024 байта (или по 512, если задана переменная среды POSIXLY_CORRECT).

Размер –block-size указывается целым числом с опциональной единицей измерения (например, 10M = 10*1024*1024). Единицы измерения в степенях 1024 – K, M, G, T, P, E, Z, Y, в степенях 1000 – KB, MB и т.д.

Примеры

отобразить все файловые системы и используемое ими дисковое пространство:

Для вывод тех же данных в «читаемом человеческом» формате используйте ключ -h:

df -h

Вывести объем доступного пространства в каталоге:

df -h /home

Вывести только файловые системы отформатированные в ext4

df -t ext4

Вывод всех дисков кроме отформатированных в ext4

df -x ext4

Заключение

Команда df – очень простой в освоении, но эффективный инструмент, позволяющий всегда быть в курсе использования дискового пространства в ваших системах.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

  1. Проверка и восстановление файловых систем в Linux- команда fsck
  2. Подключение файловых систем. Команда mount в Linux
  3. Управление и настройка LVM в Linux. Понятие LVM
  4. Перенос папки home на другой диск

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *