Команда df: проверка использования диска с опциями -h, -T и -i

Тестовая средаСемейство RHELAlmaLinux 9.8coreutils 8.32Учётная запись rootDebian 12 · coreutils 9.1 обычная учётная записьПроверено 2026-10-29

Команда df — это команда Linux, которая для каждой смонтированной файловой системы выводит в одну строку общий размер, занятое место, свободное место и процент использования. После того как df поочерёдно запустили с опциями -h, -T, -i, --output и -x на сервере AlmaLinux 9 и сервере Debian 12 и сравнили вывод, место на диске стали проверять в столбце Use%, а лимит числа файлов — в столбце IUse% команды df -i.

В выводе сервера AlmaLinux 9.8 имена устройств, размеры дисков, а также размер и использование tmpfs, которые зависят от объёма памяти, заменены согласованными примерными значениями, а строки монтирования, которые есть только на этом сервере, удалены. Путь к папке в командах тоже примерный, а вывод сервера Debian 12 приведён без изменений.

1️⃣ Как пользоваться командой df в Linux

  • ↪️ Шесть столбцов вывода и расчёт Use%

Базовая форма — [df опции файл]. Без файла выводятся все смонтированные файловые системы, а без опций размеры показываются в блоках по 1024 байта.

df
Filesystem     1K-blocks     Used Available Use% Mounted on
devtmpfs         1890316        0   1890316   0% /dev
tmpfs            1921072        0   1921072   0% /dev/shm
tmpfs             768432    17104    751328   3% /run
efivarfs             128        4       120   4% /sys/firmware/efi/efivars
/dev/sda4       52403180 10265000  42138180  20% /
/dev/sda3         983040   319488    663552  33% /boot
/dev/sda2         204580     7116    197464   4% /boot/efi
tmpfs             384212        4    384208   1% /run/user/0

Вывод состоит из шести столбцов, содержимое каждого показано в таблице ниже.

ПолеСодержание
FilesystemИмя устройства или файловой системы (tmpfs и т. д.)
1K-blocksОбщий размер (число блоков по 1024 байта) · с -h это Size
UsedЗанятый размер
AvailableСвободный размер · с -h это Avail
Use%Процент использования · Used ÷ (Used + Available) с округлением вверх
Mounted onТочка монтирования (папка, к которой подключена файловая система)

Подключение устройства к папке называется монтированием диска, а чтобы оно подключалось автоматически при каждой загрузке, его записывают в /etc/fstab.

Пересчёт каждой строки вывода сервера AlmaLinux 9.8 показал, что Use% равен Used, делённому на сумму Used и Available, с округлением вверх. Для корня (/) в выводе выше 10265000, делённое на 52403180, даёт 19,6%, что было показано как 20%.

df входит в пакет coreutils. Версию проверили по первой строке [df --version]: coreutils 8.32 на сервере AlmaLinux 9.8 и 9.1 на сервере Debian 12.

df --version | head -n 1
df (GNU coreutils) 8.32
df --version | head -n 1
df (GNU coreutils) 9.1

2️⃣ Опция df -h

  • ↪️ Удобные единицы и только один путь

-h группирует размеры по 1024 и выводит их с K, M или G.

df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           751M   17M  734M   3% /run
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi
tmpfs           376M  4.0K  376M   1% /run/user/0

Блоки 1K корня (/), 52403180, превратились в 50G, а занятые 10265000 — в 9.8G. Числа округляются вверх: значения меньше 10 показывались с одним знаком после запятой, как 9.8G, а от 10 и выше — целыми, как 50G.

-H группирует по 1000 вместо 1024.

df -H
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        2.0G     0  2.0G   0% /dev
tmpfs           2.0G     0  2.0G   0% /dev/shm
tmpfs           787M   18M  770M   3% /run
efivarfs        132k  3.9k  123k   4% /sys/firmware/efi/efivars
/dev/sda4        54G   11G   44G  20% /
/dev/sda3       1.1G  328M  680M  33% /boot
/dev/sda2       210M  7.3M  203M   4% /boot/efi
tmpfs           394M  4.1k  394M   1% /run/user/0

Тот же корень с -H показался как 54G, то есть больше, чем с -h, а единица кило сменилась на строчную k, как в 132k.

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

df -h /root/work
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda4        50G  9.8G   41G  20% /

/root/work — папка внутри корня (/), поэтому появилась строка /dev/sda4. Место, которое занимает каждая папка, суммирует Команда du.

На сервере Debian 12 указание домашней папки (~) из обычной учётной записи дало одну строку /dev/vda2 с использованием 52%.

df -h ~
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        23G   12G   11G  52% /

3️⃣ df -T: тип файловой системы

  • ↪️ Выбор типов с -t и -x

-T добавляет столбец Type после Filesystem и выводит тип файловой системы.

df -hT
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     751M   17M  734M   3% /run
efivarfs       efivarfs  128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4      xfs        50G  9.8G   41G  20% /
/dev/sda3      xfs       960M  312M  648M  33% /boot
/dev/sda2      vfat      200M  7.0M  193M   4% /boot/efi
tmpfs          tmpfs     376M  4.0K  376M   1% /run/user/0

Разделы диска /dev/sda4 и /dev/sda3 были xfs, а /boot/efi — vfat. tmpfs и devtmpfs — файловые системы, которые используют память вместо диска.

Корень сервера Debian 12 был ext4.

df -hT ~
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/vda2      ext4   23G   12G   11G  52% /

-t оставляет только указанный тип, а -x выводит всё, кроме указанного типа.

df -t xfs -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot

При запуске с -t xfs остались только две строки xfs.

df -x tmpfs -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi

-x tmpfs убрала три строки tmpfs, а devtmpfs с похожим именем осталась. Убираются только строки, где имя типа совпадает точно, поэтому чтобы убрать и devtmpfs, нужно написать -x ещё раз.

df -x tmpfs -x devtmpfs -h
Filesystem      Size  Used Avail Use% Mounted on
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi

4️⃣ df -i: использование инодов

  • ↪️ Проверка лимита числа файлов

inode — это служебная информация, по одной на каждый файл и папку. -i выводит число инодов вместо размера.

df -i
Filesystem       Inodes IUsed    IFree IUse% Mounted on
devtmpfs         472579   377   472202    1% /dev
tmpfs            480268     2   480266    1% /dev/shm
tmpfs            819200   645   818555    1% /run
efivarfs              0     0        0     - /sys/firmware/efi/efivars
/dev/sda4      26201024 98214 26102810    1% /
/dev/sda3        524288   362   523926    1% /boot
/dev/sda2             0     0        0     - /boot/efi
tmpfs             96053    21    96032    1% /run/user/0

Inodes — общее число, которое можно создать, IUsed — занятое число, IFree — оставшееся, IUse% — процент использования. У /boot/efi (vfat) и efivarfs число инодов равно 0, поэтому IUse% показывался как -.

Каждый новый файл занимает один инод, поэтому, когда IUse% доходит до 100%, новые файлы создать нельзя, даже если Use% низкий. На сервере, где копится много мелких файлов, [df -h] и [df -i] проверяют вместе.

С добавленной -h число инодов тоже группируется в единицах K и M, и 26201024 корня показались как 25M.

df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
devtmpfs         462K   377  462K    1% /dev
tmpfs            470K     2  470K    1% /dev/shm
tmpfs            800K   645  800K    1% /run
efivarfs            0     0     0     - /sys/firmware/efi/efivars
/dev/sda4         25M   96K   25M    1% /
/dev/sda3        512K   362  512K    1% /boot
/dev/sda2           0     0     0     - /boot/efi
tmpfs             94K    21   94K    1% /run/user/0

Сервер Debian 12 использовал 188009 из 6285088 инодов, IUse% составлял 3%.

df -i ~
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/vda2      6285088 188009 6097079    3% /

5️⃣ df --output: выбор столбцов вывода

  • ↪️ Выбор только нужных столбцов и сумма с --total

--output напрямую задаёт, какие столбцы выводить и в каком порядке. Имена столбцов пишутся через запятую, и доступны двенадцать имён из таблицы ниже (по --help).

Имя столбцаЗаголовокСодержание
sourceFilesystemИмя устройства / файловой системы
fstypeTypeТип файловой системы
itotalInodesОбщее число инодов
iusedIUsedЗанятые иноды
iavailIFreeСвободные иноды
ipcentIUse%Процент использования инодов
sizeSizeОбщий размер
usedUsedЗанятый размер
availAvailСвободный размер
pcentUse%Процент использования
fileFileИмя файла, указанное в команде
targetMounted onТочка монтирования
df --output=source,fstype,size,used,avail,pcent,target -h
Filesystem     Type      Size  Used Avail Use% Mounted on
devtmpfs       devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs          tmpfs     1.9G     0  1.9G   0% /dev/shm
tmpfs          tmpfs     751M   17M  734M   3% /run
efivarfs       efivarfs  128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4      xfs        50G  9.8G   41G  20% /
/dev/sda3      xfs       960M  312M  648M  33% /boot
/dev/sda2      vfat      200M  7.0M  193M   4% /boot/efi
tmpfs          tmpfs     376M  4.0K  376M   1% /run/user/0

Если перечислить семь столбцов по порядку, получился тот же вывод, что у [df -hT].

df --output=target,pcent,avail -h
Mounted on                Use% Avail
/dev                        0%  1.9G
/dev/shm                    0%  1.9G
/run                        3%  734M
/sys/firmware/efi/efivars   4%  120K
/                          20%   41G
/boot                      33%  648M
/boot/efi                   4%  193M
/run/user/0                 1%  376M

Если указать имена столбцов в порядке target, pcent, avail, точка монтирования встала первой, а за ней в этом порядке шли процент использования и свободный размер.

--total добавляет итоговую строку в самом низу.

df -h --total
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        1.9G     0  1.9G   0% /dev
tmpfs           1.9G     0  1.9G   0% /dev/shm
tmpfs           751M   17M  734M   3% /run
efivarfs        128K  3.8K  120K   4% /sys/firmware/efi/efivars
/dev/sda4        50G  9.8G   41G  20% /
/dev/sda3       960M  312M  648M  33% /boot
/dev/sda2       200M  7.0M  193M   4% /boot/efi
tmpfs           376M  4.0K  376M   1% /run/user/0
total            56G   11G   46G  19% -

Строка total — это сумма всех восьми строк выше, поэтому в неё вошли и файловые системы в памяти, такие как tmpfs.

🔲 Симулятор команды df

В симуляторе ниже можно запускать df с -h, -H, -T, -i, -t, -x, --output и --total и смотреть, как меняются столбцы вывода для каждой опции.

Симулятор команды dfcoreutils 8.32
[root@server work]#
Это виртуальный сервер, который работает только в браузере; имена устройств и размеры — примерные значения, а в левой панели для каждой точки монтирования показаны размер и процент использования из df -h.

6️⃣ Ошибки команды df

  • ↪️ No such file or directory и no file systems processed

Несуществующий путь дал [No such file or directory], и команда завершилась с кодом выхода 1.

df -h /nonexistent-dir
df: /nonexistent-dir: No such file or directory

Если передать -t тип, которого нет на сервере, выводить нечего, поэтому появилось [no file systems processed], а код выхода был 1.

df -t nosuchfs
df: no file systems processed

Несуществующее имя столбца в --output появилось в сообщении об ошибке.

df --output=bogus
df: option --output: field 'bogus' unknown
Try 'df --help' for more information.

-i или -T вместе с --output дали [mutually exclusive], и команда завершилась с тем же кодом выхода 1. Чтобы видеть иноды или типы через --output, указывают имена столбцов, например itotal и fstype.

df -i --output
df: options -i and --output are mutually exclusive
Try 'df --help' for more information.

🔢 FAQ & рекомендуемые материалы

При запуске [df -a] появились и виртуальные файловые системы размером 0, такие как proc, sysfs и cgroup2, строк стало больше, а в столбце Use% у этих строк стоял -. Обычный вывод эти строки пропускает (по --help).

С -l (--local) df выводит только локальные файловые системы (по --help). На сервере AlmaLinux 9.8 без удалённых монтирований [df -l -h] дал тот же вывод, что и [df -h].

Если указать единицу в -B, все размеры приводятся к ней. При запуске [df -BM /] заголовок сменился на 1M-blocks, а размер корня показался как 51175M.

ℹ️ О партнёрских ссылках
Материалы этого сайта содержат партнёрские ссылки. Если посетитель покупает товар или услугу по такой ссылке, сайт получает комиссию от продавца. При этом сумма, которую платит покупатель (при акционных скидках сумма снижается ↓), не увеличивается. Указанные цены, скидки и наличие актуальны на момент написания и могут отличаться, поэтому перед покупкой уточняйте их у продавца. Товары выбираются и оцениваются по нашим собственным критериям, а комиссия не влияет ни на порядок, ни на содержание обзоров.

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

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

Докажите, что вы человек: 0   +   10   =