Найти тему

Проверка дискового пространства с помощью команд df и du

Оглавление

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

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

Команда du, сокращение от «disk usage» (использование диска), необходима для оценки использования файлового пространства. Команду du можно использовать для отслеживания файлов и каталогов, которые занимают слишком много места на жестком диске.

Анализ жесткого диска с помощью df

Самый простой способ проверить свободное место на диске — запустить команду df.

$ df <опции>

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

-2

По умолчанию вывод состоит из таблицы, которая состоит из шести колонок:

  • Filename: имя файловой системы, которое может совпадать с именем раздела в вашей файловой системе.
  • 1K-blocks: количество блоков файловой системы размером 1Кб. Например, /dev/sda1 содержит 40581564 1K-блоков, общий размер 40581564000 байт или 39 гигабайт.
  • Used: количество занятых блоков по 1 КБ в файловой системе.
  • Available: количество свободных блоков по 1 КБ в файловой системе.
  • Use%: процент занятого пространства.
  • Mounted on: файловая система смонтированная в данное место.

Отображение команды в удобном формате

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

Команда df предоставляет возможность отображать размеры в удобочитаемых форматах с помощью опции -h.

$ df -h
-3

Проверить размер конкретной файловой системы.

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

df <опции> имя_фс

Например, для отображения размера корневого каталога, смонтированного на раздел /dev/sda1 можно использовать следующую команду:

$ df -h /
-4

Отображение конкретных полей в выводе

Чтобы отобразить в выводе команды df только определенные колонки с данными, используется опция --output с указанием необходимых столбцов

$ df --output='field1','field2',...

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

$ df -h --output='size','pcent' /
-5

Проверка наличия и использования inode

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

Файлы связаны с индексными дескрипторами файловой системы. Но эта таблица индексных дескрипторов ограничена по размеру. Как следствие, у вас могут закончиться записи inode раньше, чем закончится дисковое пространство.

Если ваша система уже обрабатывает слишком много файлов (маленьких или нет), она не сможет выделить больше места для новых файлов, даже если на вашем диске доступно 30 ГБ.

Чтобы проверить использование индексных дескрипторов в Linux, добавьте флаг --inodes к команде df.

$ df --inodes
-6

Аналогично, вы можете проверить использование индексного дескриптора в удобном для чтения виде, указав опцию -h.

$ df -h --inodes /
-7

Анализ дискового пространства с помощью команды du.

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

Синтаксис команды следующий:

$ du <опции> <путь|файл>
$ du <опции> <путь1> <путь2> <путь3>

Определение использования дискового пространства файлом

Чтобы проверить использование диска определенным файлом, просто добавьте имя файла к команде du.

Например, чтобы проверить размер файла .bashrc, можно использовать следующую команду:

$ du ~/.bashrc
-8

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

$ du -BM ~/.bashrc
-9

Обратите внимание, что размеры округляются до ближайшего целого числа. В данном случае размер файла .bashrc не превышает 1 МБ, но он автоматически округляется.

Конечно, вы также можете выбрать отображение размеров в удобочитаемом формате.

$ du -h ~/.bashrc
-10

Опцию -h можно комбинировать с опцией --apparent-size, чтобы получить реальный размер файла без округления.

$ du -h --apparent-size ~/.bashrc
-11

Определение дискового пространства занятого каталогом

Еще одно полезное применение команды du это определение использования диска каталогом. Для этого достаточно передать в качестве аргумента путь к каталогу

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

$ du /
-12

Как можете заметить, при таком способе отображаются все каталоги входящие в указанный, рекурсивно. Глубину такого отображения можно задать опцией -d<глубина>. Где глубина это цифра, обозначающая количество вложенных каталогов, которые необходимо показать. Например, чтобы увидеть только файлы в домашнем каталоге, можно использовать следующую команду:

$ du -d1 ~
-13

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

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

Чтобы проверить общее использование диска для данного каталога, используйте du с опцией -shc.

$ sudo du -shc /home
-14

В этом случае используются следующие опции:

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

Заключение

Команды df и du очень полезны для проверки дискового пространства в Linux. Получая информацию, возвращаемую df и du, можно легко узнать, сколько места на жестком диске используется, и узнать, что занимает это пространство.

P.S. Если вам интересен материал не забывайте ставить палец вверх под статьей. А так же, подписывайтесь на анонсы новых статей в телеграмм и на сайте RoadIT