Comando df: comprobar el uso del disco con las opciones -h, -T e -i
El comando df es un comando de Linux que muestra, en una línea por cada sistema de archivos montado, el tamaño total, el espacio usado, el espacio libre y el porcentaje de uso. Tras ejecutar df con las opciones -h, -T, -i, --output y -x, una por una, en un servidor AlmaLinux 9 y en un servidor Debian 12 y comparar la salida, el espacio en disco se comprueba en la columna Use% y el límite de archivos en la columna IUse% de df -i.
En la salida del servidor AlmaLinux 9.8, los nombres de dispositivo, los tamaños de disco y el tamaño y uso de tmpfs, que dependen de la memoria, se sustituyeron por valores de ejemplo coherentes entre sí, y se quitaron las líneas de montaje que solo existen en ese servidor. La ruta de carpeta escrita en los comandos también es un valor de ejemplo, y la salida del servidor Debian 12 se muestra tal cual.
1️⃣ Cómo usar el comando df en Linux
La forma básica es [df opciones archivo]. Sin archivo, muestra todos los sistemas de archivos montados, y sin opciones expresa los tamaños en bloques de 1024 bytes.
dfFilesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1890316 0 1890316 0% /dev
tmpfs 1921072 0 1921072 0% /dev/shm
tmpfs 768432 17104 751328 3% /run
efivarfs 128 4 120 4% /sys/firmware/efi/efivars
/dev/sda4 52403180 10265000 42138180 20% /
/dev/sda3 983040 319488 663552 33% /boot
/dev/sda2 204580 7116 197464 4% /boot/efi
tmpfs 384212 4 384208 1% /run/user/0La salida tiene seis columnas, y el contenido de cada una es el que muestra la tabla siguiente.
| Campo | Contenido |
|---|---|
| Filesystem | Nombre del dispositivo o del sistema de archivos (tmpfs, etc.) |
| 1K-blocks | Tamaño total (bloques de 1024 bytes) · Size con -h |
| Used | Tamaño usado |
| Available | Tamaño libre · Avail con -h |
| Use% | Porcentaje de uso · Used ÷ (Used + Available), redondeado hacia arriba |
| Mounted on | Punto de montaje (la carpeta a la que está conectado el sistema de archivos) |
Conectar un dispositivo a una carpeta es lo que se llama montar un disco, y para conectarlo automáticamente en cada arranque se añade a /etc/fstab.
Al calcular cada línea de la salida del servidor AlmaLinux 9.8, Use% coincidió con Used dividido entre la suma de Used y Available, redondeado hacia arriba. En la raíz (/) de la salida anterior, 10265000 entre 52403180 da 19,6 %, que se mostró como 20 %.
df forma parte del paquete coreutils. La versión se comprobó en la primera línea de [df --version]: coreutils 8.32 en el servidor AlmaLinux 9.8 y 9.1 en el servidor Debian 12.
df --version | head -n 1df (GNU coreutils) 8.32df --version | head -n 1df (GNU coreutils) 9.12️⃣ Opción df -h
-h agrupa los tamaños en unidades de 1024 y los muestra con K, M o G.
df -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0Los bloques de 1K de la raíz (/), 52403180, pasaron a 50G, y los 10265000 usados a 9.8G. Los números están redondeados hacia arriba; los menores de 10 se mostraron con un decimal, como 9.8G, y los de 10 o más como enteros, como 50G.
-H agrupa en unidades de 1000 en lugar de 1024.
df -HFilesystem Size Used Avail Use% Mounted on
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 787M 18M 770M 3% /run
efivarfs 132k 3.9k 123k 4% /sys/firmware/efi/efivars
/dev/sda4 54G 11G 44G 20% /
/dev/sda3 1.1G 328M 680M 33% /boot
/dev/sda2 210M 7.3M 203M 4% /boot/efi
tmpfs 394M 4.1k 394M 1% /run/user/0La misma raíz apareció como 54G con -H, un número mayor que con -h, y la unidad kilo pasó a la k minúscula, como en 132k.
Si se indica un archivo o una carpeta, solo se muestra la línea del sistema de archivos que contiene esa ruta.
df -h /root/workFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% //root/work es una carpeta dentro de la raíz (/), así que apareció la línea de /dev/sda4. El espacio que ocupa cada carpeta se suma con el Comando du.
En el servidor Debian 12, al indicar la carpeta personal (~) desde una cuenta normal apareció una sola línea de /dev/vda2, con un uso del 52 %.
df -h ~Filesystem Size Used Avail Use% Mounted on
/dev/vda2 23G 12G 11G 52% /3️⃣ df -T: tipo de sistema de archivos
-T añade la columna Type después de Filesystem y muestra el tipo de sistema de archivos.
df -hTFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Las particiones de disco /dev/sda4 y /dev/sda3 eran xfs, y /boot/efi era vfat. tmpfs y devtmpfs son sistemas de archivos que usan memoria en lugar de disco.
La raíz del servidor Debian 12 era ext4.
df -hT ~Filesystem Type Size Used Avail Use% Mounted on
/dev/vda2 ext4 23G 12G 11G 52% /-t deja solo el tipo indicado, y -x muestra todo menos el tipo indicado.
df -t xfs -hFilesystem Size Used Avail Use% Mounted on
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /bootAl ejecutar con -t xfs solo quedaron las dos líneas xfs.
df -x tmpfs -hFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi-x tmpfs quitó las tres líneas de tmpfs, mientras que devtmpfs, de nombre parecido, siguió apareciendo. Solo se quitan las líneas cuyo nombre de tipo coincide exactamente, así que para quitar también devtmpfs hay que escribir -x una vez más.
df -x tmpfs -x devtmpfs -hFilesystem Size Used Avail Use% Mounted on
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi4️⃣ df -i: uso de inodos
inode es un dato de gestión que se usa, uno por cada archivo y carpeta. -i muestra el número de inodos en lugar del tamaño.
df -iFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 472579 377 472202 1% /dev
tmpfs 480268 2 480266 1% /dev/shm
tmpfs 819200 645 818555 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 26201024 98214 26102810 1% /
/dev/sda3 524288 362 523926 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 96053 21 96032 1% /run/user/0Inodes es el total que se puede crear, IUsed los usados, IFree los que quedan e IUse% el porcentaje de uso. /boot/efi, que es vfat, y efivarfs tienen 0 inodos, por eso IUse% apareció como -.
Cada archivo nuevo usa un inodo, así que cuando IUse% llega al 100 % no se pueden crear archivos aunque Use% sea bajo. En un servidor que acumula muchos archivos pequeños, conviene revisar [df -h] y [df -i] juntos.
Al añadir también -h, los recuentos se agrupan en unidades K y M, y los 26201024 de la raíz aparecieron como 25M.
df -ihFilesystem Inodes IUsed IFree IUse% Mounted on
devtmpfs 462K 377 462K 1% /dev
tmpfs 470K 2 470K 1% /dev/shm
tmpfs 800K 645 800K 1% /run
efivarfs 0 0 0 - /sys/firmware/efi/efivars
/dev/sda4 25M 96K 25M 1% /
/dev/sda3 512K 362 512K 1% /boot
/dev/sda2 0 0 0 - /boot/efi
tmpfs 94K 21 94K 1% /run/user/0El servidor Debian 12 usaba 188009 de 6285088 inodos, con un IUse% del 3 %.
df -i ~Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/vda2 6285088 188009 6097079 3% /5️⃣ df --output: elegir las columnas de salida
--output fija directamente las columnas que se muestran y su orden. Los nombres de columna se escriben separados por comas, y se pueden usar los doce de la tabla siguiente (según --help).
| Nombre de columna | Encabezado | Contenido |
|---|---|---|
| source | Filesystem | Nombre del dispositivo / del sistema de archivos |
| fstype | Type | Tipo de sistema de archivos |
| itotal | Inodes | Total de inodos |
| iused | IUsed | Inodos usados |
| iavail | IFree | Inodos libres |
| ipcent | IUse% | Porcentaje de uso de inodos |
| size | Size | Tamaño total |
| used | Used | Tamaño usado |
| avail | Avail | Tamaño libre |
| pcent | Use% | Porcentaje de uso |
| file | File | Nombre de archivo indicado en el comando |
| target | Mounted on | Punto de montaje |
df --output=source,fstype,size,used,avail,pcent,target -hFilesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 751M 17M 734M 3% /run
efivarfs efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 xfs 50G 9.8G 41G 20% /
/dev/sda3 xfs 960M 312M 648M 33% /boot
/dev/sda2 vfat 200M 7.0M 193M 4% /boot/efi
tmpfs tmpfs 376M 4.0K 376M 1% /run/user/0Al escribir siete columnas en orden se obtuvo la misma salida que [df -hT].
df --output=target,pcent,avail -hMounted on Use% Avail
/dev 0% 1.9G
/dev/shm 0% 1.9G
/run 3% 734M
/sys/firmware/efi/efivars 4% 120K
/ 20% 41G
/boot 33% 648M
/boot/efi 4% 193M
/run/user/0 1% 376MAl escribir los nombres de columna en el orden target, pcent, avail, el punto de montaje quedó al principio, seguido del porcentaje de uso y del tamaño libre en ese orden.
--total añade una línea de total al final.
df -h --totalFilesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 751M 17M 734M 3% /run
efivarfs 128K 3.8K 120K 4% /sys/firmware/efi/efivars
/dev/sda4 50G 9.8G 41G 20% /
/dev/sda3 960M 312M 648M 33% /boot
/dev/sda2 200M 7.0M 193M 4% /boot/efi
tmpfs 376M 4.0K 376M 1% /run/user/0
total 56G 11G 46G 19% -La línea total es la suma de las ocho líneas anteriores, así que también se sumaron sistemas de archivos que usan memoria, como tmpfs.
🔲 Simulador del comando df
En el simulador de abajo se puede ejecutar df con -h, -H, -T, -i, -t, -x, --output y --total y ver cómo cambian las columnas de salida con cada opción.
6️⃣ Errores del comando df
Al indicar una ruta que no existe apareció [No such file or directory] y terminó con el código de salida 1.
df -h /nonexistent-dirdf: /nonexistent-dir: No such file or directorySi se da a -t un tipo que no existe en el servidor, no queda ninguna línea que mostrar, así que apareció [no file systems processed], y el código de salida fue 1.
df -t nosuchfsdf: no file systems processedAl dar a --output un nombre de columna que no existe, ese nombre apareció en el mensaje de error.
df --output=bogusdf: option --output: field 'bogus' unknown
Try 'df --help' for more information.Al usar -i o -T junto con --output apareció [mutually exclusive] y terminó con el mismo código de salida 1. Para ver inodos o tipos con --output, se escriben nombres de columna como itotal y fstype.
df -i --outputdf: options -i and --output are mutually exclusive
Try 'df --help' for more information.🔢 FAQ & contenido recomendado
UUID
Comando blkid en Linux | Diferencia entre UUID y GUID
Artículo sobre cómo comprobar el tipo de sistema de archivos y el UUID de los dispositivos de bloque con el comando blkid.
Partición
Comando gdisk: cómo particionar un disco en Linux
Artículo sobre los pasos para crear y borrar particiones en un disco con el comando gdisk.
ℹ️ Aviso de afiliados
El contenido de este sitio incluye enlaces de afiliado. Cuando un visitante compra un producto o servicio a través de uno de ellos, el sitio recibe una comisión del vendedor. El importe que paga el comprador(baja durante las promociones ↓)no aumenta. Los precios, descuentos y existencias publicados corresponden al momento de redacción y pueden variar, así que confírmalos con el vendedor antes de comprar. Los productos se eligen y evalúan con criterios propios, y las comisiones no influyen en el orden ni en el contenido de las reseñas.