duf
es una herramienta que ofrece un reemplazo visualmente más amigable para el comando df -h
, que además incorpora algunas funcionalidades adicionales interesantes.
Al momento de determinar el uso de disco típicamente se recurre al comando df- h
:
root@vaio:~# df -h Filesystem Size Used Avail Use% Mounted on udev 5.9G 0 5.9G 0% /dev tmpfs 1.2G 2.0M 1.2G 1% /run /dev/sda7 60G 30G 31G 50% / tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 2.4G 75M 2.3G 4% /dev/shm /dev/sda1 1.9G 104M 1.7G 6% /boot /dev/sda4 40G 37G 3.8G 91% /System /dev/sda5 191G 169G 23G 89% /data /dev/sda6 173G 166G 6.7G 97% /vault none 5.9G 0 5.9G 0% /run/user/1000 none 5.9G 0 5.9G 0% /run/user/0
duf
es una alternativa escrita en lenguaje Go y liberada bajo licencia MIT, disponible para sistemas operativos Linux, BSD y macOS, que ofrece una funcionalidad similar, aunque más amigable visualmente.
Entre sus características ofrece una salida en colores, se ajusta al ancho de la ventana e incluso permite retornar la salida en formato JSON.
En la página del proyecto en Github se ofrecen paquetes para Linux (Debian, Red Hat y genérico para diferentes arquitecturas), FreeBSD y macOS.
Para instalar duf
en Debian/Devuan y derivados, descargar la última versión disponible desde la página de releases:
# wget https://github.com/muesli/duf/releases/download/v0.3.1/duf_0.3.1_linux_amd64.deb
Luego instalar el paquete con dpkg
:
# dpkg -i duf_0.3.1_linux_amd64.deb
Una vez instalado, simplemente ejecutar duf
:

Se observa que la salida en colores permite identificar rápidamente aquellos discos o particiones con mayor uso.
Las opción --inodes
permite listar el uso de inodos y --hide-special
oculta los dispositivos especiales:
root@linuxito:~# duf --inodes --hide-special ╭──────────────────────────────────────────────────────────────────────╮ │ 1 local device │ ├────────────┬─────────┬────────┬─────────┬────────┬──────┬────────────┤ │ MOUNTED ON │ INODES │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │ ├────────────┼─────────┼────────┼─────────┼────────┼──────┼────────────┤ │ / │ 3276800 │ 160539 │ 3116261 │ 4.9% │ ext4 │ /dev/vda1 │ ╰────────────┴─────────┴────────┴─────────┴────────┴──────┴────────────╯
La opción --json
vuelca la salida en formato JSON, lo cual puede ser de gran utilidad para pasar la información a otro programa o servicio:
root@linuxito:~# duf --json [ { "device": "sysfs", "device_type": "special", "mount_point": "/sys", "fs_type": "sysfs", "type": "sysfs", "opts": "rw,nosuid,nodev,noexec,relatime", "total": 0, "free": 0, "used": 0, "inodes": 0, "inodes_free": 0, "inodes_used": 0, "blocks": 0, "block_size": 4096 }, { "device": "proc", "device_type": "special", "mount_point": "/proc", "fs_type": "proc", "type": "proc", "opts": "rw,nosuid,nodev,noexec,relatime", "total": 0, "free": 0, "used": 0, "inodes": 0, "inodes_free": 0, "inodes_used": 0, "blocks": 0, "block_size": 4096 }, { "device": "udev", "device_type": "special", "mount_point": "/dev", "fs_type": "devtmpfs", "type": "tmpfs", "opts": "rw,nosuid,relatime", "total": 1038692352, "free": 1038692352, "used": 0, "inodes": 253587, "inodes_free": 253307, "inodes_used": 280, "blocks": 253587, "block_size": 4096 }, { "device": "devpts", "device_type": "special", "mount_point": "/dev/pts", "fs_type": "devpts", "type": "devpts", "opts": "rw,nosuid,noexec,relatime", "total": 0, "free": 0, "used": 0, "inodes": 0, "inodes_free": 0, "inodes_used": 0, "blocks": 0, "block_size": 4096 }, { "device": "tmpfs", "device_type": "special", "mount_point": "/run", "fs_type": "tmpfs", "type": "tmpfs", "opts": "rw,nosuid,noexec,relatime", "total": 209457152, "free": 207462400, "used": 1994752, "inodes": 255680, "inodes_free": 255275, "inodes_used": 405, "blocks": 51137, "block_size": 4096 }, { "device": "/dev/vda1", "device_type": "local", "mount_point": "/", "fs_type": "ext4", "type": "ext2/ext3", "opts": "rw,relatime", "total": 52809904128, "free": 33645723648, "used": 16978632704, "inodes": 3276800, "inodes_free": 3116249, "inodes_used": 160551, "blocks": 12893043, "block_size": 4096 }, { "device": "tmpfs", "device_type": "special", "mount_point": "/run/lock", "fs_type": "tmpfs", "type": "tmpfs", "opts": "rw,nosuid,nodev,noexec,relatime", "total": 5242880, "free": 5242880, "used": 0, "inodes": 255680, "inodes_free": 255677, "inodes_used": 3, "blocks": 1280, "block_size": 4096 }, { "device": "pstore", "device_type": "special", "mount_point": "/sys/fs/pstore", "fs_type": "pstore", "type": "pstorefs", "opts": "rw,relatime", "total": 0, "free": 0, "used": 0, "inodes": 0, "inodes_free": 0, "inodes_used": 0, "blocks": 0, "block_size": 4096 }, { "device": "tmpfs", "device_type": "special", "mount_point": "/dev/shm", "fs_type": "tmpfs", "type": "tmpfs", "opts": "rw,nosuid,nodev,noexec,relatime", "total": 418897920, "free": 418897920, "used": 0, "inodes": 255680, "inodes_free": 255678, "inodes_used": 2, "blocks": 102270, "block_size": 4096 }, { "device": "securityfs", "device_type": "special", "mount_point": "/sys/kernel/security", "fs_type": "securityfs", "type": "securityfs", "opts": "rw,relatime", "total": 0, "free": 0, "used": 0, "inodes": 0, "inodes_free": 0, "inodes_used": 0, "blocks": 0, "block_size": 4096 } ]