Введение
Системное сообщение «No space left on device» способно мгновенно нарушить стабильность любого рабочего сервера, и первым средством оперативной локализации проблемы всегда выступает утилита df. В данном материале мы разберем наиболее эффективные сценарии ее применения: от вывода данных в интуитивно понятных величинах и фильтрации служебных виртуальных разделов до выявления дефицита индексных дескрипторов (Inode), когда запись блокируется даже при наличии свободных гигабайт. Дополнительно затронем причину расхождений между показателями df и du, а также способы возврата удерживаемого пространства.
1. Базовый анализ накопителей и вывод в удобных единицах измерения (df -h)
Для первичной оценки доступного пространства на всех подключенных накопителях операционной системы Linux используется штатная команда df.
Если запустить ее без уточняющих ключей, емкость отображается в блоках по 1 КБ (1K-blocks), из-за чего составить быстрое представление об объемах в оперативной работе затруднительно.
⚙️ [Полезные параметры утилиты]
-h : форматирует емкость в привычные единицы измерения (K, M, G).-T : выводит отдельный столбец с типом файловой системы (ext4, xfs, overlay и т. д.).-i : вместо физических блоков выводит статистику индексных дескрипторов (Inode), определяющих лимит числа создаваемых файлов.-t : ограничивает отчет только указанным типом файловой системы.-x : исключает разделы заданного типа из финальной таблицы.

С флагом -h (–human-readable) утилита преобразует сухие технические цифры в легко воспринимаемые величины.
Как демонстрирует вывод терминала, громоздкие блоки автоматически переводятся в мегабайты (M) и гигабайты (G), позволяя администратору моментально оценить баланс занятого и свободного места.

2. Фильтрация вывода: исключение виртуальных разделов и выбор целевых ФС (df -h -x / -t)
Команда df -h -x tmpfs -x devtmpfs -x squashfs последовательно применяет аргумент -x (–exclude-type), очищая консоль от второстепенных служебных структур.
В современных инсталляциях Ubuntu экран нередко загромождают многочисленные петлевые устройства пакетов snap с типом squashfs, а также энергозависимые файловые системы в оперативной памяти (tmpfs, devtmpfs).
Такой подход помогает скрыть лишние системные точки монтирования и сфокусироваться исключительно на реальных физических накопителях.

Если требуется решить обратную задачу и проинспектировать только конкретный формат хранения данных, используют ключ -t (–type), как в команде df -h -t ext4.
В результате вывод изолирует только тома стандарта ext4, исключая необходимость вручную искать главные дисковые разделы среди объемного списка смонтированных ресурсов.

3. Проблема исчерпания Inode: когда место есть, но файлы не создаются (df -i)
Чтобы смоделировать работу с дескрипторами на практике, создадим временный каталог и наполним его десятью пустыми текстовыми файлами.

Инструкция df -i /tmp/df-test позволяет оценить расход индексных дескрипторов (Inode) файловой системы, к которой принадлежит целевой путь.
Даже если на диске доступны десятки свободных гигабайт, исчерпание лимита Inode (значение IUse% достигает 100%) сделает запись новых файлов технически невозможной.
Анализируя столбцы Inodes (общий пул), IUsed (задействованное количество) и IFree (доступный остаток), можно быстро диагностировать нехватку табличных записей файловой системы.

По завершении проверки удалим созданную экспериментальную директорию вместе со всем содержимым с помощью команды rm -rf /tmp/df-test.

4. Тонкости системного администрирования: несовпадение данных df и du из-за удерживаемых дескрипторов
Для идентификации фоновых процессов, продолжающих удерживать удаленные файлы, проверим наличие диагностической утилиты lsof и выполним ее установку при необходимости.

Вызов lsof +L1 отображает процессы, удерживающие открытыми файлы, количество жестких ссылок на которые уже равно нулю.
Когда тяжелый лог удаляется командой rm, но работающий сервис не закрывает соответствующий файловый дескриптор, занятые блоки не возвращаются операционной системе. В этом случае du сообщает об освобождении объема, а df продолжает показывать заполненный раздел.
Выяснив идентификатор PID из таблицы вывода, администратор может перезапустить или корректно завершить соответствующую службу, после чего дескриптор закроется, а дисковое пространство сразу станет доступным.

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