Как узнать свободное место на диске Linux
В Windows для того чтобы получить представление о свободном месте на дисках компьютера достаточно открыть мой компьютер. Там в очень наглядном виде представлен список дисков и подробная информация сколько места доступно в нашей системе, сколько уже использовано и сколько осталось свободно.
В главном окне файловых менеджеров Linux нет такой возможности, так же как и нет разделения диски, по умолчанию просто открывается домашняя папка. В Linux все разделы диска подключаются к корневой файловой системе, в определенные подкаталоги. При доступе к файловой системе мы невидим никаких дисков, есть только корневая файловая система. При работе с ней возникает ощущение, что это одна файловая система, не разделенная на разделы. Это очень удобно, но по-началу может показаться непривычным. Управление разделами и их размером выполняется с помощью специальных утилит.
В этой инструкции мы рассмотрим несколько способов узнать свободное место на диске linux. Мы рассмотрим как консольные утилиты, так и утилиты с графическим интерфейсом.
Как узнать свободное место в GUI
Новичкам проще обращаться с графическим интерфейсом системы. С него и начнем.
Стандартной утилитой для работы с дисками и разделами в Linux можно считать — Gparted. С помощью этой программы можно не только оценить доступное и использованное место на диске, но и создавать, удалять и изменять размер разделов. Во многих дистрибутивах она уже предустановлена, но если нет, ее можно установить с помощью пакетного менеджера, например, в Ubuntu:
sudo apt-get install gparted
Запускается программа из главного меню. Наберите в поиске gparted или выполните в терминале:
Приставка pexec означает, что будет утилита будет выполняться с правами суперпользователя, поэтому нужно будет ввести пароль. Вот так выглядит главное окно утилиты:
В правом верхнем углу мы можем выбрать диск, с которым хотим работать, а в рабочей области — список разделов на выбранном диске. Здесь указывается название, файловая система, метка, размер и информация об использованном пространстве. Кстати, оценить свободное место можно и визуально, занятое место отмечено желтым, а свободное — белым.
Как я говорил, в этой утилиты еще очень много возможностей, но они выходят за рамки этой статьи.
Узнать свободное место на диске Ubuntu/Gnome можно более простым способом, с помощью утилиты системный монитор. Откройте утилиту системный монитор с помощью Dash или главного меню:
Затем перейдите на вкладку файловые системы:
Здесь отображены все подключенные разделы, а также их размер и количество доступного пространства.
В KDE такая функция не поддерживается системным монитором. Но зато кое-какую информацию можно узнать в утилите информация о системе:
Также Dolphin, файловый менеджер KDE, позволяет отображать свободное пространство на текущем разделе в строке состояния. Для этого откройте Настроить Dolphin, Главное, Строка состояния и включите галочку Показывать сведения о свободном месте:
Вот так это будет выглядеть:
Такая же функция раньше была в Nautilus, но в новых версиях строка состояния в этом файловом менеджере отключена.
Еще один способ выполнить просмотр свободного места на диске linux, это воспользоваться утилитой baobab. Это стандартный дисковый анализатор в Ubuntu, утилита показывает не только занятое и свободное место, но и круговую диаграмму размера папок и файлов на диске, что позволяет очень быстро понять куда же делось место:
В KDE есть свой аналог, это fileslight, принцип работы такой же.
Чтобы проверить свободное место на диске linux можно использовать виджеты. Их довольно много, так что детально останавливаться на этом не будем.
Узнать свободное место в терминале
В Linux почти все действия можно сделать несколькими способами. Просмотр свободного места не исключение. Кроме, утилит с графическим интерфейсом есть несколько консольных утилит.
Утилита df, позволяет проанализировать свободное пространство на всех подключенных к системе разделах:
По умолчанию размер отображается в байтах, чтобы сделать его более читаемым, используйте опцию -h:
Как видите, кроме размера здесь отображается файловая система и точка монтирования.
Если хотите посмотреть только свободное место в определенном каталоге, его можно указать:
Так же само можно указать устройство:
Кроме опции -h утилита поддерживает и другие опции:
- -m — отображать размер в мегабайтах
- -T — отображать тип файловой системы
- -a — включить в список все файловые системы
- -i — отображать используемые иноды
Чтобы проанализировать какие файлы занимают больше всего пространства можно использовать утилиту du. Утилита выводит размер всех файлов в текущей или указанной директории, например:
Мы также можем отсортировать вывод, чтобы его было более удобно анализировать:
Опция -h указывает, что нужно выводить размер в мегабайтах. Здесь есть еще несколько интересных опций:
- -b — выдавать размер в байтах
- -k — показывать размер в килобайтах
- -m — размер в мегабайтах
- -x — не учитывать каталоги, находящиеся в других файловых системах.
Выводы
Вот и все, теперь вы знаете как узнать свободное место на диске linux. Конечно, это еще далеко не все способы для решения этой задачи, но этого будет вполне достаточно. Если у вас остались вопросы или вы пользуетесь другим способом, опишите его в комментариях!
Анализ дискового пространства в Linux – команды du и ncdu
Одной из распространённых задач в системном администрировании является оценка состояния жёстких дисков (а также и других устройств хранения), в том числе анализ использования дискового пространства. В Linux для таких целей давно существуют утилиты с удобным графическим интерфейсом, предоставляющих наглядную информацию о занятом пространстве в виде диаграмм и графиков. Однако, для системных администраторов, обслуживающих «серьёзные» сервера на основе Linux-систем, графический интерфейс — чрезмерное удовольствие, не оправдывающее затрачиваемых на него ресурсов. Поэтому необходимо уметь обходиться средствами командной консоли, используя специализированные консольные утилиты для анализа дискового пространства, которые доступны в виде двух команд — du и ncdu.
как посмотреть свободное место на диске
Давайте узнаем сколько у нас свободного места в системе. Узнать это можно с помощью команды
как видим у нас диск занят на 97%, и нам необходимо узнать что у нас заняло место. Давайте этим займемся.
Команда du – синтаксис и опции
Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T. Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux.
Итак давайте узнаем что у нас занимает место
Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий
Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var
видим что это папка log
Теперь смотрим /var/log
и вот здесь мы уже видим пять самых больших файлов с логами, именно они и заняли все место на диске. Давайте рассмотрим команду du подробнее.
Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:
Если дать команду du без параметров, то по-умолчанию будет выведен список всех каталогов и подкаталогов для текущего каталога. Также по-умолчанию единицей измерения объёма является 1024 байта или 512 байт, в зависимости от конфигурации используемой системы:
Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:
Опция | Назначение |
-a | Выводит объём для всех элементов, а не только для каталогов |
—apparent-size | Выводит действительные размеры, но не занимаемое место а диске |
-B, —block-size=РАЗМЕР | Задаёт использование определённых единиц измерения объёма |
-b, —bytes | То же самое, что и «—block-size —apparent-size=1» |
-с, —total | Выводит общий результат |
-D, —dereference-args | Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке |
-d, —max-depth=N | Выводит общий размер только до N-го уровня (включительно) дерева каталогов |
-h, —human-readable | Выводит размеры в удобном для человека виде |
-k | Эквивалентно —block-size=1K |
-L, —dereference | Разыменовывает символьные ссылки |
-l, —count-links | Складывает размеры, если несколько жёстких ссылок |
-m | Эквивалентно —block-size=1M |
-t, —threshold=РАЗМЕР | Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно |
—time | Выводит время последнего изменения в каталоге и во всех подкаталогах |
—time=АТРИБУТ | Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения |
—time-style=СТИЛЬ | Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso |
-X, —exclude-from=ФАЙЛ | Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа |
—exclude=ШАБЛОН | Исключает элементы, совпадающие с шаблоном |
-x, —one-file-system | Пропускать каталоги из других систем |
Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.
Примеры использования команды du
Узнать общий размер каталога (например с резервными копиями):
Вывод размеров всех подкаталогов (рекурсивно):
С фильтрацией в зависимости от размера файла/каталога:
Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:
Команда 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 ФАЙЛ, —exclude-from-file | Исключает из подсчёта значения размеров файлов, имена которых удовлетворяют шаблону из файла, но они также будут отображаться в списке |
Интерфейс ncdu действительно очень дружественный — размеры всегда отображаются в «человекопонятных» единицах.
Для работы с псевдоинтерфейсом ncdu предусмотрен целый набор «горячих клавиш», позволяющих удалять выбранные файлы и каталоги, включать режим представления используемого пространства в процентах, отображать информацию о выбранных элементах, а также выполнять другие полезные функции. Об этом более подробно можно прочитать в соответствующих man-страницах в разделе «KEYS», используя команду man ncdu.
Примеры команд ncdu
Сделаем поиск занимаемого пространства с помощью ncdu
ncdu /
Снова видим большой каталог /var, и уже с помощью клавишь и ENTER мы можем передвигаться по каталогам. Видим каталог log
А здесь мы видим наши большие логи
Еще несколько полезных примеров.
Сканирование объёмных каталогов с экспортом/архивированием в лог для последующего использования или просмотра:
Сканирование текущей директории, экспорт результатов в лог, и последующий просмотр этих результатов в браузере ncdu:
Работа с удалённой системой:
В данной команде опция -C используется для утилиты ssh для сжатия сетевого трафика при некачественном или медленном соединении.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.