Este artículo fue publicado originalmente en go2linux.org el 18 de mayo de 2007. El dominio ya no me pertenece, pero soy el autor original. Lo republico aquí en garron.me con correcciones y mejoras.

Cuando necesitas saber cuánto espacio se está usando en tus discos y cuánto queda libre, df (Disk Free) es el comando indicado. Muestra todos los sistemas de archivos montados de un vistazo.

Uso básico

df [opciones] [sistema-de-archivos]

Sin argumentos, df lista todos los sistemas de archivos montados:

$ df
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda1      151225248  16280980 127262392  12% /
tmpfs             517924         0    517924   0% /dev/shm
/dev/sdb1      76896316   54820876  18169240  76% /media/data

Los números están en bloques de 1K por defecto, lo cual no es fácil de leer. Usa -h para una salida legible:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       145G   16G  122G  12% /
tmpfs           506M     0  506M   0% /dev/shm
/dev/sdb1        74G   53G   18G  76% /media/data

Opciones útiles

Mostrar el tipo de sistema de archivos (-T):

$ df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda1      ext4   145G   16G  122G  12% /
tmpfs          tmpfs  506M     0  506M   0% /dev/shm
/dev/sdb1      ext4    74G   53G   18G  76% /media/data

Útil cuando tienes una mezcla de ext4, xfs, tmpfs y montajes de red y quieres saber con qué estás tratando.

Mostrar solo los sistemas de archivos locales (-l):

$ df -hl

Esto excluye los montajes de red (NFS, sshfs, etc.), lo cual es práctico en servidores con muchos montajes remotos.

Ver uso de inodos (-i):

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda1      9732096 412053 9320043    5% /

Un disco puede quedarse sin inodos antes de quedarse sin espacio — esto ocurre cuando un sistema de archivos tiene millones de archivos pequeños. Si df dice que tienes espacio pero no puedes crear nuevos archivos, revisa los inodos.

Consultar una ruta específica

Puedes apuntar df a una ruta en lugar de a un dispositivo:

$ df -h /var/log
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       145G   16G  122G  12% /

Mostrará el sistema de archivos en el que está esa ruta, lo cual es útil cuando no estás seguro en qué partición vive un directorio.

Cuando el disco está lleno

Si un proceso reporta "no space left on device", ejecuta:

df -h

Busca cualquier sistema de archivos al 100% (o cerca). Luego usa du para encontrar qué está consumiendo el espacio.