Использование диска (df, du)
Тема дорожной карты · Linux & Unix Fundamentals
Использование команд df и du позволяет эффективно управлять дисками и оптимизировать использование пространства на файловых системах. Эти команды являются ключевыми инструментами для системных администраторов и разработчиков, поскольку они позволяют быстро и точно определить, какое место занято и какое свободно.
df -h показывает свободное место по смонтированным ФС; df -i переключает на использование inodes — критично, когда диск «полный», а в df -h ещё есть место. du -sh /var/* показывает суммарные размеры подкаталогов, du -h --max-depth=1 | sort -h ранжирует их. Цифры могут расходиться: удалённые, но открытые файлы продолжают занимать место (lsof | grep deleted), а зарезервированные root-блоки (tune2fs -m) скрывают около 5% на ext4. Для быстрого поиска потерь места попробуйте ncdu — интерактивный TUI поверх тех же системных вызовов.
Как это работает
Использование диска (df, du) имеет слои: физические диски → разделы (fdisk, parted, gdisk) → опционально LVM (PV/VG/LV) или RAID (mdadm) → файловые системы (mkfs.ext4, mkfs.xfs) → монтирования (в /etc/fstab для persistence). df -h — свободное место; du -sh * — что его жрёт; lsblk — дерево блочных устройств; blkid — UUID. SSD выигрывают от discard или еженедельного fstrim. iostat и iotop — поиск I/O-боттлнеков.
Команды df и du используются для мониторинга использования дискового пространства. Команда df показывает, сколько свободного места есть на каждом смонтированном разделе, в то время как du позволяет оценить размеры файлов и каталогов. Это позволяет быстро и точно определить, какие файлы или каталоги занимают наибольшее количество места.
Когда применять
LVM — на серверах, где может понадобиться рост ёмкости или снапшоты; пропустите на ноутах или single-purpose VM. RAID — для избыточности на bare metal; в облаке блок-стор сам справляется (gp3 на AWS, network-ssd на Yandex Cloud). Всегда /etc/fstab с UUID (не /dev/sda1 — имена девайсов меняются после reboot в некоторых конфигах). Алёрты на disk-full — до того, как кусает.
Команды df и du особенно полезны при мониторинге использования дискового пространства на серверах и рабочих станциях. Они позволяют быстро выявить, какие файлы или каталоги занимают наибольшее количество места, что помогает предотвратить проблемы с переполнением диска.
Типичные ошибки
Ловушки Использование диска (df, du): опечатка dd if=/dev/zero of=/dev/sda (мгновенная потеря данных — осторожно с /dev/ путями); resize смонтированной FS в неверном порядке (сначала раздел, потом FS — или LVM, где порядок менее ломкий); игнор исчерпания inode до ENOSPC, несмотря на свободные GB в df; непонимание, что rm файла, открытого процессом, не освобождает место (lsof | grep deleted).
При использовании команд df и du важно избегать типичных ошибок. Например, случайная опечатка в команде dd может привести к мгновенной потере данных. Также важно правильно выполнять операции resize файловых систем, чтобы избежать потери данных или повреждения файловой системы.