Справочник

Команды df и du в Linux: сколько места на диске и что его заняло

df показывает диски целиком: размер, сколько занято и сколько свободно. du считает, сколько места занимают папки и файлы. Вместе они отвечают на вопрос «куда делось место». Ниже — ключи, примеры для сервера и разбор ответов.

Обновлено 11.10.2026≈ 6 мин чтения
Содержание 7

Что сделать прямо сейчас

  1. Подключитесь к серверу — инструкция.
  2. Узнайте, сколько свободно на главном диске: df -h /. Свободное место — в колонке Avail.
  3. Узнайте, сколько занимает папка сайта: sudo du -sh /var/www/example.com.
  4. Найдите самые большие папки: sudo du -xh -d1 /var 2>/dev/null | sort -h. Самые большие окажутся внизу.
  5. Если в Use% 90% и больше, освободите место по шагам из статьи No space left on device.

df: сколько места на диске

ivan@myserver:~$ df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  7.5G   12G  40% /
КолонкаЧто значит
Filesystemдиск или его раздел; имя у вас может быть другим
Sizeразмер диска
Usedсколько занято
Availсколько свободно для записи
Use%сколько занято в процентах
Mounted onпапка, к которой подключён диск; / — главный диск

Буквы после чисел — единицы: K, M, G, T — кибибайты, мебибайты, гибибайты и тебибайты: здесь считают по 1024. Ключ -H считает по 1000 — тогда буквы значат килобайты, мегабайты и гигабайты.

Used плюс Avail может быть меньше Size. На дисках ext4 при создании по умолчанию резервируется 5% места для root, чтобы службы могли работать, даже когда остальные пользователи заполнили диск.

Ключи df

КомандаЧто покажет
df -hвсе диски в понятных единицах
df -h /только главный диск
df -h /var/www/example.comдиск, на котором лежит эта папка
df -hTещё колонку Type — тип файловой системы, например ext4
df -h -x tmpfsвсе диски, кроме tmpfs
df -h --totalвнизу строку total — все диски вместе
df -iне место, а записи для файлов — подробнее в статье No space left on device, а место есть

Строки tmpfs в ответе df -h — место в оперативной памяти, а не на диске. Когда ищете, где кончилось место, их пропускайте.

du: сколько занимает папка

ivan@myserver:~$ sudo du -sh /var/www/example.com
1.3G	/var/www/example.com

Слева — размер, справа — папка. -s значит «только итог», без каждой вложенной папки, -h — размер в понятных единицах. Числа у вас будут свои.

КлючЧто делает
-sпоказать только итог по каждой указанной папке
-hразмеры в K, M и G
-d1показать папки только первого уровня; то же — --max-depth=1
-aпоказать не только папки, но и файлы
-cдобавить внизу строку total — сумму
-xсчитать только этот диск и не заходить на другие
-t 100Mне показывать то, что меньше 100 мебибайт
--exclude='*.log'не считать файлы, подходящие под шаблон

Без sudo du не сможет зайти в чужие папки и посчитает меньше, чем занято на деле. Подсчёт большой папки занимает время — дождитесь, пока снова появится строка для ввода команд. Прервать — Ctrl+C.

Самые большие папки

sudo du -xh -d1 /var 2>/dev/null | sort -h

du посчитает каждую папку внутри /var, а sort -h расставит их по размеру: самые большие внизу, последней строкой — сама /var. 2>/dev/null прячет сообщения о папках, которые прочитать нельзя. Спускайтесь в самую большую папку той же командой, пока не найдёте, что заняло место.

Самые большие файлы

sudo du -ah /var/log 2>/dev/null | sort -h | tail -n 10

-a добавляет в список файлы, tail -n 10 оставляет десять последних строк — самые большие. Как работает tail — в статье cat, less, head и tail.

Каждая папка и файл в текущей папке

du -sh *

Звёздочка подставит все имена в текущей папке. Файлы и папки, имя которых начинается с точки, звёздочка не захватывает.

Почему df и du показывают разное

ПричинаЧто сделать
du без sudo не смог прочитать часть папокзапустите du через sudo
файл удалили, но программа, которая в него писала, ещё работаетперезапустите эту программу: место вернётся, когда она закроет файл
du считает место, которое файл занял на диске, а не его длинуразмер как в ls -l покажет du -h --apparent-size файл
du с -x не считает другие диски, подключённые внутрь папкипосмотрите их отдельно: df -h

Удалённый файл остаётся на диске, пока его держит открытым хотя бы одна программа. Поэтому большой журнал не удаляют, а обнуляют — как это сделать, показано в статье No space left on device, раздел «Большой лог одной программы».

Ошибки и как их исправить

ОтветЧто значитЧто сделать
du: cannot read directory '/var/lib/...': Permission deniedнет прав зайти в папкузапустите du через sudo или Permission denied в Linux
du: cannot access 'папка': No such file or directoryнет такой папкипроверьте путь и большие буквы командой ls
df: /путь: No such file or directoryнет такого путипроверьте путь или наберите df -h без него
Use% у главного диска 100%место кончилосьосвободите его — No space left on device
место есть, а запись не идёткончились записи для файловNo space left on device, а место есть

Источники

Сверено 11 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 11.10.2026