Команда Linux df с практическими примерами

LinuxBeginner
Практиковаться сейчас

Введение

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

Шпаргалка по командам Linux

Базовая отчетность по использованию диска

Сначала вы научитесь базовому использованию команды df и как форматировать ее вывод для лучшей читаемости. Все команды в этой лабораторной работе будут выполняться в терминале.

Откройте терминал и выполните команду df без каких-либо опций:

df

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

Filesystem     1K-blocks     Used Available Use% Mounted on
overlay         20971520   128764  20842756   1% /
tmpfs              65536        0     65536   0% /dev
tmpfs            8052892        0   8052892   0% /sys/fs/cgroup
shm                65536        0     65536   0% /dev/shm
/dev/nvme1n1   104806400 20643324  84163076  20% /etc/hosts
tmpfs            8052892        0   8052892   0% /proc/acpi
tmpfs            8052892        0   8052892   0% /proc/scsi
tmpfs            8052892        0   8052892   0% /sys/firmware

По умолчанию дисковое пространство отображается в блоках по 1 килобайту, что может быть сложно для интерпретации. Чтобы сделать вывод более удобным для пользователя, используйте опцию -h (human-readable - читаемый человеком). Эта опция выводит размеры в степенях 1024 (например, M для мегабайт, G для гигабайт).

Выполните команду df с опцией -h:

df -h

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

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /
tmpfs            64M     0   64M   0% /dev
tmpfs           7.7G     0  7.7G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/nvme1n1    100G   20G   81G  20% /etc/hosts
tmpfs           7.7G     0  7.7G   0% /proc/acpi
tmpfs           7.7G     0  7.7G   0% /proc/scsi
tmpfs           7.7G     0  7.7G   0% /sys/firmware

Вот разбивка столбцов:

  • Filesystem: Название устройства хранения данных.
  • Size: Общий размер файловой системы.
  • Used: Количество используемого в данный момент пространства.
  • Avail: Количество доступного для использования пространства.
  • Use%: Процент используемого дискового пространства.
  • Mounted on: Каталог, в котором смонтирована файловая система.

Проверка конкретного пути

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

Сначала проверьте использование диска для корневого каталога, представленного /:

df -h /

Вывод покажет детали файловой системы, смонтированной в корне вашей системы:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /

Далее проверьте использование диска для вашего текущего рабочего каталога. Путь по умолчанию для вашего терминала — ~/project, который находится внутри вашего домашнего каталога. Вы можете использовать точку . для представления текущего каталога.

df -h .

Вывод покажет использование диска для файловой системы, где находится ваш каталог ~/project. В этой среде это то же самое, что и корневая файловая система:

Filesystem      Size  Used Avail Use% Mounted on
overlay          20G  126M   20G   1% /

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

Отображение типа файловой системы и информации об inode

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

Для отображения типа файловой системы используйте опцию -T (print-type - вывести тип). Это добавит столбец Type к выводу, показывая форматы, такие как overlay, tmpfs или xfs.

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

df -hT

Теперь вывод будет включать столбец Type:

Filesystem     Type     Size  Used Avail Use% Mounted on
overlay        overlay   20G  126M   20G   1% /
tmpfs          tmpfs     64M     0   64M   0% /dev
tmpfs          tmpfs    7.7G     0  7.7G   0% /sys/fs/cgroup
shm            tmpfs     64M     0   64M   0% /dev/shm
/dev/nvme1n1   xfs      100G   20G   81G  20% /etc/hosts
tmpfs          tmpfs    7.7G     0  7.7G   0% /proc/acpi
tmpfs          tmpfs    7.7G     0  7.7G   0% /proc/scsi
tmpfs          tmpfs    7.7G     0  7.7G   0% /sys/firmware

Вы также можете проверить использование inode. Inode — это структура данных в файловой системе, которая хранит всю информацию о файле или каталоге, кроме его имени и фактических данных. Файловая система может исчерпать inode, даже если на диске еще есть свободное место. Чтобы проверить использование inode, используйте опцию -i.

df -i

Эта команда отображает общее количество inode и сколько из них используется и свободно:

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
overlay        52428800 657612 51771188    2% /
tmpfs           2013223     16  2013207    1% /dev
tmpfs           2013223     17  2013206    1% /sys/fs/cgroup
shm             2013223      1  2013222    1% /dev/shm
/dev/nvme1n1   52428800 657612 51771188    2% /etc/hosts
tmpfs           2013223      1  2013222    1% /proc/acpi
tmpfs           2013223      1  2013222    1% /proc/scsi
tmpfs           2013223      1  2013222    1% /sys/firmware

Настройка вывода

Для скриптов или конкретных потребностей в отчетности вы можете захотеть отобразить только определенные столбцы. Команда df предоставляет опцию --output для настройки полей, отображаемых в отчете.

Вы можете указать список полей, которые хотите видеть. Общие поля включают source (файловая система), fstype (тип файловой системы), size (размер), used (использовано), avail (доступно), pcent (процент использования) и target (точка монтирования).

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

df -h --output=source,size,used,avail,target

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

Filesystem      Size  Used Avail Mounted on
overlay          20G  126M   20G /
tmpfs            64M     0   64M /dev
tmpfs           7.7G     0  7.7G /sys/fs/cgroup
shm              64M     0   64M /dev/shm
/dev/nvme1n1    100G   20G   81G /etc/hosts
tmpfs           7.7G     0  7.7G /proc/acpi
tmpfs           7.7G     0  7.7G /proc/scsi
tmpfs           7.7G     0  7.7G /sys/firmware

Эта функция очень полезна для создания кратких отчетов или для передачи данных в другие скрипты, поскольку она позволяет точно контролировать формат вывода.

Итоги

В этой лабораторной работе вы научились использовать команду df для мониторинга дискового пространства файловых систем в Linux. Вы начали с базовой команды, а затем использовали опцию -h для получения удобочитаемого вывода. Вы также практиковались в проверке дискового пространства для конкретных путей и узнали важное различие: df сообщает о всей файловой системе. Наконец, вы изучили расширенные опции, такие как -T для просмотра типов файловых систем, -i для проверки использования inode и --output для создания пользовательских отчетов. Эти навыки являются основополагающими для любого пользователя Linux или системного администратора.

Linux Commands Cheat Sheet