duf: una alternativa moderna a df para consultar el uso de disco
Guía de referencia de duf: instalación en Debian, opciones de filtrado, ordenamiento, configuración y ejemplos prácticos para monitorear el uso de disco desde la terminal.
duf (Disk Usage/Free) es una herramienta de línea de comandos que muestra el uso de disco y espacio disponible en los sistemas de archivos montados. Es una alternativa moderna a df con salida colorida en formato de tabla, soporte para filtrado, ordenamiento, salida JSON y compatibilidad multiplataforma (Linux, macOS, Windows, FreeBSD).
Instalación
En Debian 12+ y Ubuntu 22.04+, duf está disponible en los repositorios oficiales:
sudo apt update && sudo apt install duf
Para versiones anteriores de Debian/Ubuntu, descarga el paquete .deb desde las releases de GitHub:
curl -LO https://github.com/muesli/duf/releases/download/v0.8.1/duf_0.8.1_linux_arm64.deb
sudo dpkg -i duf_0.8.1_linux_arm64.deb
Nota: ajusta la URL según la arquitectura de tu sistema (
amd64,arm64, etc.) y la versión más reciente disponible.
Verifica la instalación:
duf --version
Uso básico
Ejecuta duf sin argumentos para ver todos los dispositivos montados:
duf
Para consultar un punto de montaje o ruta específica:
duf /home
Para incluir pseudo-filesystems, filesystems duplicados y filesystems inaccesibles:
duf --all
Opciones de filtrado
duf permite filtrar los dispositivos mostrados según su tipo, filesystem o punto de montaje.
Filtrado por tipo de dispositivo
| Opción | Descripción |
|---|---|
--only | Muestra solo los tipos indicados (separados por ,) |
--hide | Oculta los tipos indicados (separados por ,) |
Los tipos disponibles son: local, network, fuse, special, loops, binds.
# Mostrar solo dispositivos locales
duf --only local
# Ocultar dispositivos especiales y loops
duf --hide special,loops
Filtrado por filesystem
| Opción | Descripción |
|---|---|
--only-fs | Muestra solo los filesystems indicados |
--hide-fs | Oculta los filesystems indicados |
# Mostrar solo ext4 y btrfs
duf --only-fs ext4,btrfs
# Ocultar tmpfs
duf --hide-fs tmpfs
Filtrado por punto de montaje
| Opción | Descripción |
|---|---|
--only-mp | Muestra solo los puntos de montaje indicados |
--hide-mp | Oculta los puntos de montaje indicados |
# Mostrar solo /home y /var
duf --only-mp /home,/var
Opciones de visualización
Ordenamiento
Ordena la salida por una columna específica:
duf --sort size
Columnas disponibles para ordenar: mountpoint, size, used, avail, usage, inodes, inodes_used, inodes_avail, inodes_usage, type, filesystem.
Seleccionar columnas
Muestra solo las columnas especificadas:
duf --output mountpoint,size,used,avail,usage
Inodos
Muestra la información de inodos en lugar del espacio en disco:
duf --inodes
Tema de colores
Cambia el tema de la salida:
# Tema oscuro (por defecto)
duf --theme dark
# Tema claro
duf --theme light
Salida JSON
Genera la salida en formato JSON, útil para scripts y automatización:
duf --json
Combínalo con jq para extraer datos específicos:
duf --json | jq '.[] | select(.mount_point == "/") | .usage'
Ancho de salida
Controla el ancho máximo de la salida:
duf --width 120
Umbrales de color
duf colorea los porcentajes de uso según umbrales configurables. Los valores representan los límites entre los colores verde, amarillo y rojo:
# Umbrales basados en espacio disponible (por defecto: "10G,1G")
duf --avail-threshold "10G,1G"
# Umbrales basados en porcentaje de uso (por defecto: "0.5,0.9")
duf --usage-threshold "0.5,0.9"
| Opción | Descripción |
|---|---|
--avail-threshold | Umbrales de espacio disponible para cambio de color (2 valores) |
--usage-threshold | Umbrales de porcentaje de uso para cambio de color (2 valores) |
Configuración
duf permite guardar opciones predeterminadas en un archivo de configuración YAML:
mkdir -p ~/.config/duf
nano ~/.config/duf/duf.yaml
Ejemplo de configuración:
hide:
- special
- loops
only-fs:
- ext4
- btrfs
sort: usage
output:
- mountpoint
- size
- used
- avail
- usage
theme: dark
Las opciones del archivo de configuración se aplican como valores por defecto y pueden ser sobreescritas con los argumentos de línea de comandos.
Buenas prácticas
- Crea un alias para uso cotidiano — agrega
alias df='duf --hide special,loops'a tu.bashrco.zshrcpara reemplazardfcon una versión filtrada. - Usa
--jsonpara scripts — la salida JSON es estable y fácil de parsear conjq, evitando problemas con el formato de la salida en texto. - Combínalo con
watch— ejecutawatch -n 5 dufpara monitorear el uso de disco en tiempo real con actualizaciones cada 5 segundos. - Aprovecha el archivo de configuración — define tus opciones predeterminadas en
~/.config/duf/duf.yamlpara evitar repetir los mismos argumentos. - Filtra el ruido — usa
--hide special,loopso el archivo de configuración para ocultar los pseudo-filesystems que no aportan información útil en el día a día.