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



