Как проверить свободное место на диске linux
Перейти к содержимому

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

  • автор:

Как узнать свободное место на диске Linux

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

В главном окне файловых менеджеров Linux нет такой возможности, так же как и нет разделения диски, по умолчанию просто открывается домашняя папка. В Linux все разделы диска подключаются к корневой файловой системе, в определенные подкаталоги. При доступе к файловой системе мы не видим никаких дисков, есть только корневая файловая система. При работе с ней возникает ощущение, что это одна файловая система, не разделенная на разделы. Это очень удобно, но по-началу может показаться непривычным. Управление разделами и их размером выполняется с помощью специальных утилит.

В этой инструкции мы рассмотрим несколько способов узнать свободное место на диске linux. Мы рассмотрим как консольные утилиты, так и утилиты с графическим интерфейсом.

Как узнать свободное место в GUI

Новичкам проще обращаться с графическим интерфейсом системы. С него и начнем.

Стандартной утилитой для работы с дисками и разделами в Linux можно считать — Gparted. С помощью этой программы можно не только оценить доступное и использованное место на диске, но и создавать, удалять и изменять размер разделов. Во многих дистрибутивах она уже предустановлена, но если нет, ее можно установить с помощью пакетного менеджера, например, в Ubuntu:

sudo apt-get install gparted

Запускается программа из главного меню. Наберите в поиске gparted или выполните в терминале:

Приставка pexec означает, что будет утилита будет выполняться с правами суперпользователя, поэтому нужно будет ввести пароль. Вот так выглядит главное окно утилиты:

gparted

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

Как я говорил, в этой утилиты еще очень много возможностей, но они выходят за рамки этой статьи.

Узнать свободное место на диске Ubuntu/Gnome можно более простым способом, с помощью утилиты системный монитор. Откройте утилиту системный монитор с помощью Dash или главного меню:

sysmon-ubuntu

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

sys-monintor

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

В KDE такая функция не поддерживается системным монитором. Но зато кое-какую информацию можно узнать в утилите информация о системе:

kinfocenter

Также Dolphin, файловый менеджер KDE, позволяет отображать свободное пространство на текущем разделе в строке состояния. Для этого откройте Настроить Dolphin, Главное, Строка состояния и включите галочку Показывать сведения о свободном месте:

dolphin

Вот так это будет выглядеть:

dolphin1

Такая же функция раньше была в Nautilus, но в новых версиях строка состояния в этом файловом менеджере отключена.

Еще один способ выполнить просмотр свободного места на диске linux, это воспользоваться утилитой baobab. Это стандартный дисковый анализатор в Ubuntu, утилита показывает не только занятое и свободное место, но и круговую диаграмму размера папок и файлов на диске, что позволяет очень быстро понять куда же делось место:

baobab

В KDE есть свой аналог, это fileslight, принцип работы такой же.

Чтобы проверить свободное место на диске linux можно использовать виджеты. Их довольно много, так что детально останавливаться на этом не будем.

Узнать свободное место в терминале

В Linux почти все действия можно сделать несколькими способами. Просмотр свободного места не исключение. Кроме, утилит с графическим интерфейсом есть несколько консольных утилит.

Утилита df, позволяет проанализировать свободное пространство на всех подключенных к системе разделах:

По умолчанию размер отображается в байтах, чтобы сделать его более читаемым, используйте опцию -h:

df1

Как видите, кроме размера здесь отображается файловая система и точка монтирования.

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

df2

Так же само можно указать устройство:

Кроме опции -h утилита поддерживает и другие опции:

  • -m — отображать размер в мегабайтах
  • -T — отображать тип файловой системы
  • -a — включить в список все файловые системы
  • -i — отображать используемые иноды

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

Мы также можем отсортировать вывод, чтобы его было более удобно анализировать:

du -h ~/Загрузки/ | sort -h

Опция -h указывает, что нужно выводить размер в мегабайтах. Здесь есть еще несколько интересных опций:

  • -b — выдавать размер в байтах
  • -k — показывать размер в килобайтах
  • -m — размер в мегабайтах
  • -x — не учитывать каталоги, находящиеся в других файловых системах.

Выводы

Вот и все, теперь вы знаете как узнать свободное место на диске linux. Конечно, это еще далеко не все способы для решения этой задачи, но этого будет вполне достаточно. Если у вас остались вопросы или вы пользуетесь другим способом, опишите его в комментариях!

Команда df Linux

Когда доходит дело до проверки свободного места через терминал, нам не обойтись без такой стандартной утилиты, как df. В графическом интерфейсе есть множество программ, которые можно использовать, чтобы узнать свободное место Linux. Но в некоторых случаях вам доступен только терминал и нужно, например, выяснить почему не работает программа. Тогда на выручку приходит команда df linux, она позволяет выводить не только список подключенных устройств, но и информацию о занятом месте, а также точку монтирования.

В этой статье мы подробно рассмотрим что из себя представляет команда df, как ее можно использовать, разберем ее опции и вывод.

Команда df linux

Утилита df поставляется по умолчанию во всех дистрибутивах Linux и имеет очень простой синтаксис. Фактически вы можете просто набрать df и уже получить результат, но чтобы сделать вывод более читаемым используются дополнительные опции. Вот основной синтаксис:

$ df опции устройство

Устройство указывать необязательно, но можно указать раздел диска, о котором мы хотим посмотреть информацию. А теперь рассмотрим основные опции утилиты:

  • -a, —all — отобразить все файловые системы, в том числе виртуальные, псевдо и недоступные;
  • -B — изменить размер одного блока перед выводом данных, например, можно использовать BM, чтобы вывести все данные в мегабайтах;
  • -h — выводить размеры в читаемом виде, в мегабайтах или гигабайтах;
  • -H — выводить все размеры в гигабайтах;
  • -i — выводить информацию об inode;
  • -k — выводить размеры в килобайтах;
  • —output — использовать специальный формат вывода, если не задано, выводит все поля. Доступны такие варианты: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’;
  • -P — использовать формат вывода POSIX;
  • —total — выводить всю информацию про использованное и доступное место;
  • -t, —type — выводить информацию только про указанные файловые системы;
  • -x — выводить информацию обо всех, кроме указанных файловых систем;

Теперь, после основных опций рассмотрим подробнее как примеры df linux.

Как пользоваться df

Чтобы посмотреть доступное пространство на всех примонтированных разделах и информацию о них достаточно набрать:

Утилита отображает стандартный набор колонок, но понять в ее выводе что-то с первого раза сложно. Все данные выводятся в килобайтах. Теперь давайте попросим утилиту выводить данные в более читаемом формате:

Это самое популярное сочетание опций, потому что оно дает максимально понятную информацию и уже можно судить о том, что происходит на диске. Например, мы видим, что в домашней папке уже занято 87% места и, возможно, пора что-то удалить. Если задать опцию -a, вы можете получить информацию обо всех файловых системах известных ядру, которые были смонтированы:

Здесь отображается огромное количество виртуальных файловых систем ядра. Если вы хотите вывести только информацию про реальные файловые системы на жестком диске можно использовать опцию -x чтобы отфильтровать все tmpfs:

Также можно отфильтровать две файловые системы:

df -x devtmpfs -x tmpfs

Или же указать файловую систему, которую нужно отображать:

Также можно указать интересующий вас раздел, как вы видели в синтаксисе команды:

С помощью опции -i вы можете посмотреть информацию про состояние inode в вашей файловой системе:

Видео, о том, как пользоваться утилитой df:

Выводы

В этой небольшой статье была рассмотрена команда df linux. С помощью нее вы можете посмотреть подробную информацию о состоянии файловой системы Linux, подключенных разделах и информацию о свободном и занятом пространстве. Надеюсь эта информация была полезной для вас.

На десерт видео из Лиги смеха, звонок в техподдержку:

How to find out how much disk space is remaining?

The -h flag provides human readable output (which makes reading of the output — easier).

du — estimate file space usage

A second tool is with du which is a slower approach but will give you a better break down of a per directory. Information on that can be found in How to determine where the biggest files/directories on my system are stored?

15.1k 4 4 gold badges 79 79 silver badges 120 120 bronze badges
answered Oct 10, 2010 at 3:07
Marco Ceppi Marco Ceppi
48k 30 30 gold badges 173 173 silver badges 197 197 bronze badges

There are several good command line tools for reporting disk usage. Use the one that’s most helpful to you:

df

$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 56G 4.4G 48G 9% / none 1.5G 256K 1.5G 1% /dev none 1.5G 472K 1.5G 1% /dev/shm none 1.5G 400K 1.5G 1% /var/run none 1.5G 0 1.5G 0% /var/lock tmpfs 1.5G 596K 1.5G 1% /var/log tmpfs 1.5G 8.0K 1.5G 1% /var/log/apt /dev/sdb2 840G 579G 253G 70% /home 

df is installed by default.

pydf

$ pydf Filesystem Size Used Avail Use% Mounted on /dev/sda1 55G 4437M 48G 7.9 [##. ] / none 1506M 256k 1505M 0.0 [. ] /dev /dev/sdb2 839G 578G 252G 68.9 [###################. ] /home 

Column headers are colored.

discus

$ discus Mount Total Used Avail Prcnt Graph / 55.02 GB 4.33 GB 50.69 GB 7.9% [*---------] /sys 0 KB 0 KB 0 KB 0.0% [----------] +onnections 0 KB 0 KB 0 KB 0.0% [----------] +rnel/debug 0 KB 0 KB 0 KB 0.0% [----------] +l/security 0 KB 0 KB 0 KB 0.0% [----------] /dev 1.47 GB 256 KB 1.47 GB 0.0% [----------] /dev/shm 1.48 GB 472 KB 1.48 GB 0.0% [----------] /var/run 1.48 GB 400 KB 1.48 GB 0.0% [----------] /var/lock 1.48 GB 0 KB 1.48 GB 0.0% [----------] /var/log 1.48 GB 596 KB 1.48 GB 0.0% [----------] +ar/log/apt 1.48 GB 8 KB 1.48 GB 0.0% [----------] /home 839.00 GB 578.13 GB 260.87 GB 68.9% [*******---] +infmt_misc 0 KB 0 KB 0 KB 0.0% [----------] +e/ak/.gvfs 0 KB 0 KB 0 KB 0.0% [----------] 

Column headers and progress bars are colored.

di

$ di Filesystem Mount Mebis Used Avail %Used fs Type /dev/sda1 / 56340.2 4436.7 49041.6 13% ext4 /dev/sdb2 /home 859138.9 592008.8 258401.8 70% ext4 tmpfs /var/log 1511.2 0.6 1510.6 0% tmpfs tmpfs /var/log/apt 1511.2 0.0 1511.2 0% tmpfs 

answered Oct 10, 2010 at 3:46
76.3k 74 74 gold badges 233 233 silver badges 366 366 bronze badges
excellent options. especially pydf and discus
Jul 29, 2012 at 22:11
Can pydf ignore snap usage sizes
Jul 19, 2021 at 14:00

You can use this command to find out how much space files in your home directory (replace ~/ with / for entire filesystem) and sort by largest files

du -sk ~/* | sort -n 

196k 54 54 gold badges 482 482 silver badges 737 737 bronze badges
answered Oct 10, 2010 at 3:42
191 2 2 bronze badges

GNOME System Monitor

If you prefer graphical gnome-system-monitor :

screenshot

Disk Usage Analyzer

screenshot

The Disk Usage Analyzer counterpart for CLI would be ncdu .

15.1k 4 4 gold badges 79 79 silver badges 120 120 bronze badges
answered Oct 10, 2010 at 7:57
109 2 2 bronze badges
Thanks! It took me forever to find this answer!
Mar 25, 2023 at 17:28

For example, du -sh /home/mark will show a summarised usage report in human-readable output for /home/mark .

117k 55 55 gold badges 321 321 silver badges 500 500 bronze badges
answered Dec 2, 2010 at 7:30
Peter Peter

ncdu

You can also use ncdu (available directly from the Ubuntu repos) which use the ncurses library for showing a graphical overview directly in the terminal.

ncdu -x / 

will analyze disk usage on root partition without crossing filesystem boundaries.

15.1k 4 4 gold badges 79 79 silver badges 120 120 bronze badges
answered May 9, 2019 at 11:08
Nicolas Østergaard Nicolas Østergaard
81 1 1 silver badge 1 1 bronze badge
awesome. thanks for it!
Jun 5, 2023 at 12:01
This is an excellent solution for servers
Nov 1, 2023 at 14:17

df -h is your best bet (run it in the Terminal).

117k 55 55 gold badges 321 321 silver badges 500 500 bronze badges
answered Oct 10, 2010 at 3:04
475 1 1 gold badge 4 4 silver badges 11 11 bronze badges

Note that df -h will show you only remaining space on mounted partitions. Suppose there are NTFS and FAT32 partitions too before running it note that mount all the partitions. If Ubuntu is sole OS on your machine then I don’t see any problem with df .

516 1 1 gold badge 5 5 silver badges 13 13 bronze badges
answered Oct 10, 2010 at 7:04
DewBot DewBot

Get one value that expresses disk utilization in percent

This expression takes all volumes total, available und used space in kB and summarizes the values and finally calculates a total percentage of disk utilization.

df --block-size=1K --output=source,size,used,avail | awk 'NR > 1 END ' 

Use this at your own risk.

This might possibly fail for your use case. If you want to manually check disk utilization df -h will be totally fine.

Again, this is by no means perfect. If you use this, make sure you test this individually on each machine if the volumes you are interested in are covered and represented with the correct return values.

Full command for custom monitoring expressions (e.g. zabbix)

I wanted to exclude volumes whose usage is smaller than 5GB (5000000 kB) and also exclude some other volumes I had no interest in. This works nicely with zabbix or any other monitoring tool that uses custom expressions.

You can debug this by removing the awk expression and decide what you want to include or not.

This command parameterizes a threshold value with a Makro in Zabbix and looks like this:

df --block-size=1K --output=source,size,used,avail | awk '!/tmpfs|loop|shm|overlay|udev/ && $3 >= && NR > 1 END ' 

I was then able to set the default threshold () to 0 and increase it to e.g. 5GB for one machine where I had a volume that I didn’t want to track, since it was almost empty.

Просмотр свободного места на диске/разделах в Linux

date

20.02.2021

user

VyacheslavK

directory

Linux

comments

комментария 4

В данной статье мы расскажем, как проверить свободное дисковое пространство на хосте под управлением Linux через консоль. Мы рассмотрим несколько базовых команд с помощью которых можно узнать размер не только одного диска или директории, а целого дерева каталогов. Отдельно выделим комбинированные команды для получения более детальной информации о размерах вложенных папок. В конце статьи мы приведем пример простого скрипта для мониторинга дискового пространства с отправкой уведомлением на почтовый ящик администратора.

Для чего нужно следить за дисковым пространством в системе? Разделы в Linux устроены так, что их можно заполнить на 100% и даже после такого, система продолжит работать. А вот отдельные сервисы могут пострадать, что может повлечь за собой необратимые последствия.

Просмотр занятого места на разделах командой du

Выведем список дисков в системе и их размер:

fdisk получить размеры дисков и разделов

В моем случае, на виртуальной машине доступен 1 диск размером 40Гб.

Чтобы получить более детальную информацию по двум разделам, которые созданы на диске, можно использовать:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 253:0 0 40G 0 disk ├─vda1 253:1 0 512M 0 part /boot └─vda2 253:2 0 39.5G 0 part /

В листинге команды видно, что один раздел используется под /boot, а второй под корень системы.

Новый диск в Linux добавляется так. Для управления разделами и разметкой также удобно использовать parted.

Перейдем к утилите, вокруг которой мы построили данную инструкцию:

df – это команда позволяет отобразить информацию о свободном/доступном месте на диске, файловой системы раздела.

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

df - определить свободное место на диске в linux

  • Filesystems – имя файловой системы
  • Size – размер раздела
  • Used – используемое дисковое пространство
  • Avail – доступное дисковое пространство(свободное)
  • Use% — занятое дисковое пространство в процентах
  • Mounted on – смонтировано. Указывает директорию, к которой примонтирован раздел.

При использовании опции -h дисковое пространство выводится в Гб. Если размер меньше 1Гб, то вывод будет в Мб.

df -m – информация будет отображена в Мб.

df -k — информация будет отображена в Кб.

df -T – к выводу добавиться тип файловой системы

df -hT /boot – с данной опцией, будет предоставлена информация

df - сколько место свобожно на разделе

Опции можно комбинировать между собой, для получения нужной информации.

Полная справка по df доступна через команду:

Получаем размеры директорий командой du

Вторая команда, которую мы рассмотрим, это du. du – команда отображающая размер директории.

Дополнительные опции для du:

  • du -h – показывает информацию в читабельном формате. Можно указать путь к конкретной директории, если применить без этого, покажет информацию в текущем каталоге.
  • du -sh – покажет размер директории в которой вы находитесь. Можно указать путь к директории.
  • du -m – вывод информации в Мб.
  • du -h —time – выведет информацию с дополнительным столбцом по времени изменения директории или файлов.

используем команду Linux du для получения размера каталогов

Больше информации по утилите, можно увидеть так:

При администрировании сервера, можно комбинировать вышеописанные команды. Например, выведем размер всех вложенных каталогов в /var/log и отсортируем вывод от большего к меньшему (чтобы самые большие каталоги оказались вверху списка):

# du -h /var/ | sort -rn

du - найти самые большие папки в каталоге

# du —max-depth=1 -h – выводит на экране размер вложенных директории, не дальше 1-го уровня вложенности.

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

Bash скрипт мониторинга свободного места в Linux

Рассмотрим простой bash скрипт, для мониторинга дискового пространства на сервере и отправке email уведомления администратору, если места недостаточно.

#!/bin/bash
CURRENT=$(df / | grep / | awk ‘< print $5>‘ | sed ‘s/%//g’)
THRESHOLD=90
if [ «$CURRENT» -gt «$THRESHOLD» ] ; then
mail -s ‘Заканчивается дисковое пространство’ -r [email protected] В вашем корневом разделе сервера server1, осталось слишком мало дискового пространства. Используется: $CURRENT%
EOF
fi

При достижении заполняемости директории / до 90% к вам на почту будет отправляться уведомление. Добавьте данный скрипт в cron и мониторьте вашу систему. Можно изменить скрипт, чтобы он смотрел за размером определенного раздела или каталога.

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

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

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