Duf в Linux: удобная проверка дисков вместо df
Duf в Linux показывает занятое и свободное место на всех дисках в виде цветных таблиц и ставится одной командой из репозитория. Ниже установка для разных дистрибутивов, разбор вывода, полезные фильтры, проверка inodes и JSON-режим для скриптов.

Содержание
Duf вместо df: что умеет утилита
Duf (Disk Usage/Free) - консольная утилита на Go от Christian Muehlhaeuser, которая показывает то же, что и df, только по-человечески. Файловые системы разбиты на группы, размеры сразу в гигабайтах, заполненность нарисована цветной полосой, а сортировка и фильтры задаются понятными словами вместо длинных цепочек grep и awk.
Проект жив: последний выпуск на момент написания - 0.9.1 (сентябрь 2025), пакет есть в официальных репозиториях Debian, Ubuntu, Fedora и Arch. Работает в Linux, BSD, macOS и Windows.
Чего duf не делает: он не ищет, какие каталоги съели место. Это задача du и ncdu, о них подробно в статье как освободить место на диске. Duf отвечает на вопрос где кончается место, а не кто его занял.
Установка duf в 2026 году
Самостоятельная сборка из исходников и ручное скачивание deb-пакета, как советовали в 2021 году, больше не нужны. Ставьте из репозитория своего дистрибутива:
# Debian 12 и 13, Ubuntu 22.04 и новее, Linux Mint
sudo apt install duf
# Fedora 44
sudo dnf install duf
# Arch Linux и производные
sudo pacman -S duf
# openSUSE
sudo zypper install dufПроверить установку и версию:
duf --versionЕсли в репозитории старая версия, а нужна свежая, на странице релизов проекта лежат готовые пакеты deb и rpm для amd64 и arm64. Скачанный пакет ставится через пакетный менеджер, чтобы он сам проверил зависимости:
sudo apt install ./duf_0.9.1_linux_amd64.deb
sudo dnf install ./duf_0.9.1_linux_amd64.rpmИмя файла сверяйте со страницей релизов: версия и архитектура в нём меняются. Сборка из исходников теперь требует Go 1.23 или новее и нужна разве что разработчикам. Общие способы установки программ, включая сторонние пакеты, разобраны в отдельной инструкции.
Первый запуск и как читать таблицы
Достаточно набрать duf без параметров.

Утилита рисует несколько таблиц по типам устройств:
- local - разделы ваших дисков: корень,
/home,/boot/efi; - network - сетевые ресурсы NFS, SMB, SSHFS;
- fuse - файловые системы в пространстве пользователя, например смонтированные облака или AppImage;
- special - tmpfs, devtmpfs и прочие файловые системы в памяти;
- loops и binds - образы и привязанные каталоги, по умолчанию часть из них скрыта.
Цвет полосы зависит от порогов. По умолчанию заполненность до 50% зелёная, до 90% жёлтая, дальше красная. Столбец свободного места желтеет, если осталось меньше 10 ГБ, и краснеет при остатке меньше 1 ГБ. Пороги легко сдвинуть, об этом ниже.
Чтобы увидеть конкретный раздел или каталог, передайте путь. Duf покажет файловую систему, на которой этот путь лежит:
duf /home
duf / /boot/efi
duf ~/ЗагрузкиОсновные параметры duf
Полный список выводит duf --help. Обратите внимание: в исходной статье параметры были набраны с длинным тире вместо двух дефисов, так они не работают. Пишите длинные параметры через два дефиса: --all, --sort. Старая запись с одним дефисом вроде -all в текущих версиях не сработает, потому что duf разбирает параметры в стиле GNU.

| Параметр | Что делает | Пример |
|---|---|---|
--all | показывает псевдо, дублирующиеся и недоступные ФС | duf --all |
--only, --hide | фильтр по группе: local, network, fuse, special, loops, binds | duf --only local |
--only-fs, --hide-fs | фильтр по типу файловой системы | duf --hide-fs tmpfs,vfat |
--only-mp, --hide-mp | фильтр по точке монтирования, понимает шаблоны | duf --only-mp /,/home |
--sort | сортировка по столбцу | duf --sort usage |
--output | выбор столбцов | duf --output mountpoint,size,avail |
--inodes | индексные дескрипторы вместо блоков | duf --inodes |
--theme, --style | цвета dark, light, ansi и рамки unicode или ascii | duf --style ascii |
--avail-threshold, --usage-threshold | пороги подсветки | duf --usage-threshold 0.7,0.95 |
--json | вывод в JSON для скриптов | duf --json |
--width | максимальная ширина таблицы | duf --width 100 |
Ключ --all выдаёт длинную простыню из cgroup, proc и прочих служебных систем. Он полезен, когда нужно понять, что вообще смонтировано, например при поиске зависшего сетевого ресурса.

Фильтры, сортировка и столбцы на практике
Несколько сочетаний, которые закрывают большинство задач:
# только реальные диски, самые заполненные сверху
duf --only local --sort usage
# скрыть снапы, флешки и временные ФС
duf --hide-fs squashfs,tmpfs,vfat
# все точки монтирования внутри /mnt, шаблон в кавычках
duf --only-mp '/mnt/*'
# компактная таблица для узкого терминала
duf --output mountpoint,size,avail,usage --width 80Допустимые имена столбцов для --sort и --output: mountpoint, size, used, avail, usage, inodes, inodes_used, inodes_avail, inodes_usage, type, filesystem.
Отдельно про индексные дескрипторы. На ext4 их количество задаётся при создании файловой системы, и они могут закончиться раньше места: диск показывает свободные гигабайты, а файлы не создаются с ошибкой No space left on device. Проверка занимает секунду:
duf --inodes --only localЕсли столбец inodes_usage близок к 100%, ищите каталог с миллионами мелких файлов: кэш, сессии PHP, старые письма. Параметры ext4, включая резерв для root, меняются через tune2fs.
Чтобы не набирать фильтры каждый раз, заведите псевдоним в ~/.bashrc: alias dfl='duf --only local --sort usage'. Подменять сам df не стоит: скрипты и инструкции рассчитывают на его привычный вывод. Как устроены псевдонимы, рассказано в статье про aliases.
JSON-вывод: duf в скриптах и мониторинге
Ключ --json выводит массив объектов с полями device, mount_point, fs_type, type, total, free, used, inodes, inodes_free и другими. Размеры в байтах. Вместе с jq из этого получается простая проверка свободного места:
sudo apt install jq # или dnf install jq, pacman -S jq
duf --json | jq '.[] | select(.mount_point=="/") | .free'Небольшой скрипт, который предупредит, если на корне осталось меньше 10 ГБ. Его можно повесить на таймер systemd или cron:
#!/bin/sh
free=$(duf --json | jq '.[] | select(.mount_point=="/") | .free')
limit=$((10 * 1024 * 1024 * 1024))
if [ "$free" -lt "$limit" ]; then
notify-send "Мало места" "На / осталось меньше 10 ГБ"
fiДля серверов вместо notify-send подставьте отправку в журнал через logger или в свой мессенджер. Как запускать такие проверки по расписанию, описано в статье про cron и таймеры systemd.
Частые вопросы при работе с duf
Не видно флешки или сетевого диска
Сначала убедитесь, что устройство вообще смонтировано: findmnt или lsblk -f. Duf показывает только смонтированные файловые системы. Неразмеченный диск он не увидит, для этого нужны инструменты разметки из статьи о разделах и файловых системах.
Цифры отличаются от df
Duf считает в двоичных единицах (ГиБ), а df -H в десятичных. Плюс на ext4 часть места зарезервирована для root, и обычный пользователь видит её как занятую. Сравнивайте с df -h, тогда расхождения почти исчезнут.
Ломаются рамки и цвета
В консоли без поддержки Unicode или при выводе в файл включайте --style ascii и --theme ansi. Для логов удобнее сразу --json.
Частые вопросы
Чем duf отличается от df?
Показывает те же данные, но группирует файловые системы по типам, рисует полосы заполненности и умеет фильтровать и сортировать без grep и awk. Есть JSON-вывод.
Показывает ли duf размер папок?
Нет. Duf работает с файловыми системами целиком. Для размеров каталогов используйте du или ncdu.
Нужен ли Go для установки duf?
Нет. Пакет есть в репозиториях Debian, Ubuntu, Fedora и Arch, Go нужен только для сборки из исходников.
Как показать только реальные диски?
Команда duf --only local. Добавьте --sort usage, чтобы самые заполненные разделы были сверху.
Почему место есть, а файлы не создаются?
Возможно, закончились индексные дескрипторы. Проверьте командой duf --inodes.
Документация и источники
- duf: Disk Usage/Free Utility (README и релизы), muesli/duf, GitHub, 2025
- duf --help, duf 0.9.1, 2025
Читайте также
- Как освободить место на диске в Linux и найти, что его съело
- Разметка диска в Linux: какие разделы нужны и какую ФС выбрать
- Tune2fs: как посмотреть и изменить параметры файловой системы ext4
- Aliases в Linux: псевдонимы команд, которые экономят время
- Форматирование дисков и флешек в Linux через терминал и программы
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.