¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal


Uso del comando df (disk free) 

Copyright © 2005-2018 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

El uso del comado df (disk free), nos permite conocer la cantidad de espacio libre y espacio utilizado respectivamente. Esta utileria o programa es parte de los llamados "built-in", es decir, programas que son parte del sistema operativo. En este tutorial aprenderás como utilizarlo eficientemente.


df

Esta utileria es un comando estandar de Unix, usado para desplegar la cantidad de espacio libre o disponible en los sistemas de archivos (filesystems) a los que el usuario que lo invoca tiene permisos de lectura. Sin argumentos su salida es la siguiente:

$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda3       61796140 10458544  48175484  18% /
devtmpfs         8143956        0   8143956   0% /dev
tmpfs            8158660   243816   7914844   3% /dev/shm
tmpfs            8158660    11900   8146760   1% /run
tmpfs            8158660        0   8158660   0% /sys/fs/cgroup
/dev/sda1         588352   210220    335124  39% /boot
/dev/dm-0      412716456 96927996 294800556  25% /home

Por default, su salida son seis columnas, sistema de archivos (Filesystem), tamaño (1K-blocss o size, depende la opción), lo usado (Used), lo disponible (Available), lo usado en porcentaje (Use%), y donde está mintado (Mounted on). Tal cual nos da lecturas de uso y disponibilidad un poco difíciles de entender, veamos con la opción -h, formato humano, y nos mostrará unidades en Kilobyes, Megas, Gigas, Teras, Petas, etc.:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        59G   10G   46G  18% /
devtmpfs        7.8G     0  7.8G   0% /dev
tmpfs           7.8G  240M  7.6G   3% /dev/shm
tmpfs           7.8G   12M  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1       575M  206M  328M  39% /boot
/dev/dm-0       394G   93G  282G  25% /home


$ df -h    # formato humano 
$ df -m    # formato en megabytes
$ df -k    # formato en blockes de 1 kilobye, este es el default

Mostrar solo filesystems específicos

Por default muestra todos los filesysten, solo indica el(los) sistema de archivos después del comando y sus opciones para mostrar individualmente:

$ df -h /boot
Filesystem     Size  Used Avail Use% Mounted on
/dev/sda1      575M  206M  328M  39% /boot

$ df -h /boot /home
Filesystem     Size  Used Avail Use% Mounted on
/dev/sda1      575M  206M  328M  39% /boot
/dev/dm-0      394G   93G  282G  25% /home

Si se utiliza el indicador . (punto) df mostrará el filesystem donde esta el directorio actual:

$pwd
/home/sergio
$ df -Th .
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/dm-0      ext4      394G   93G  282G  25% /home

Tipo de filesystem

Utiliza la opción -T para mostrar el tipo de sistema de archivos:

$ df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      ext4       59G   10G   46G  18% /
devtmpfs       devtmpfs  7.8G     0  7.8G   0% /dev
tmpfs          tmpfs     7.8G  292M  7.5G   4% /dev/shm
tmpfs          tmpfs     7.8G   12M  7.8G   1% /run
tmpfs          tmpfs     7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sda1      ext3      575M  206M  328M  39% /boot
/dev/dm-0      ext4      394G   93G  282G  25% /home

Y con la opción -t te permite mostrar los filesystems del tipo indicado:

$ df -h -t ext4
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      ext4       59G   10G   46G  18% /
/dev/dm-0      ext4      394G   93G  282G  25% /home

Puedes excluir filesystems con la opción -x (exclude):

[sergiogo@sergiogo-pc ~]$ df -h -T -x tmpfs
Filesystem     Type      Size  Used Avail Use% Mounted on
/dev/sda3      ext4       59G   10G   46G  18% /
devtmpfs       devtmpfs  7.8G     0  7.8G   0% /dev
/dev/sda1      ext3      575M  206M  328M  39% /boot
/dev/dm-0      ext4      394G   93G  282G  25% /home



Inodos

Si lo que se requiere es revisar el número de inodos en el sistema, tenemos la opción -i:

$ df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/sda3       3932160 307535  3624625    8% /
devtmpfs        2035989    479  2035510    1% /dev
tmpfs           2039665    269  2039396    1% /dev/shm
tmpfs           2039665    722  2038943    1% /run
tmpfs           2039665     16  2039649    1% /sys/fs/cgroup
/dev/sda1         38400    390    38010    2% /boot
/dev/dm-0      26214400 159857 26054543    1% /home



[sergiogo@sergiogo-pc ~]$ df -ih
Filesystem     Inodes IUsed IFree IUse% Mounted on
/dev/sda3        3.8M  301K  3.5M    8% /
devtmpfs         2.0M   479  2.0M    1% /dev
tmpfs            2.0M   233  2.0M    1% /dev/shm
tmpfs            2.0M   722  2.0M    1% /run
tmpfs            2.0M    16  2.0M    1% /sys/fs/cgroup
/dev/sda1         38K   390   38K    2% /boot
/dev/dm-0         25M  157K   25M    1% /home

Todas las columnas, opción output

Como se podrá observar en el ejemplo anterior, para inodos, las columnas cambian. Entonces, si lo que se requiere es mostrar todas las columnas a la vez, combinando el default df con la opción -i, se utiliza la opción --o o --output (con dos guines):

$ df --o -h
Filesystem     Type     Inodes IUsed IFree IUse%  Size  Used Avail Use% File Mounted on
/dev/sda3      ext4       3.8M  301K  3.5M    8%   59G   10G   46G  18% -    /
devtmpfs       devtmpfs   2.0M   479  2.0M    1%  7.8G     0  7.8G   0% -    /dev
tmpfs          tmpfs      2.0M   233  2.0M    1%  7.8G  206M  7.6G   3% -    /dev/shm
tmpfs          tmpfs      2.0M   722  2.0M    1%  7.8G   12M  7.8G   1% -    /run
tmpfs          tmpfs      2.0M    16  2.0M    1%  7.8G     0  7.8G   0% -    /sys/fs/cgroup
/dev/sda1      ext4        38K   390   38K    2%  575M  206M  328M  39% -    /boot
/dev/dm-0      ext4        25M  159K   25M    1%  394G   93G  282G  25% -    /home
 


Salida personalizada de columnas

df permite especifiar que columnas mostrar en la salida, para esto tenemos los siguientes valores de columnas:

  • source - Generalmente un dispositivo, el origen del punto de montaje.
  • size - El número total de bloques o tamaño en B,M,G, etc.
  • used - Número de bloques usados.
  • avail - Número de bloques disponibles.
  • pcent - Porcentaje de USED
  • target - Punto de montaje

Se utiliza la opción --output= para indicar las columnas que se desean, separadas por comas:

$ df -h --output=source,pcent,target
Filesystem     Use% Mounted on
/dev/sda3       18% /
devtmpfs         0% /dev
tmpfs            3% /dev/shm
tmpfs            1% /run
tmpfs            0% /sys/fs/cgroup
/dev/sda1       39% /boot
/dev/dm-0       25% /home

[sergiogo@sergiogo-pc ~]$ df --o=source,pcent
Filesystem     Use%
/dev/sda3       18%
devtmpfs         0%
tmpfs            3%
tmpfs            1%
tmpfs            0%

Solo mostrar filesystems locales

df muestra por default todos los sistemas de archivos, incluidos los montados remotamente a través de NFS u otros sistemas de red similares. Si solo se desea mostrar los sistemas archivos locales, utiliza la opción -l (local):

$ df -h
Filesystem                             Size  Used Avail Use% Mounted on
/dev/mapper/vg_sys_uinov0020-lv_root   5.5G  3.8G  1.4G  74% /
/dev/xvda1                             248M  104M  132M  44% /boot
/dev/mapper/vg_home-lv_new_home         20G  7.2G   12G  39% /home
/dev/mapper/vg_sys-lv_bkp              5.1G  2.3G  2.5G  49% /bkp
/dev/mapper/vg_sys-lv_tmp              3.0G  296M  2.6G  11% /tmp
/dev/mapper/vg_sys-lv_var              4.0G  2.3G  1.5G  61% /var
192.168.100.10:/export/respaldos       4.8T  3.0T  1.8T  64% /respaldos
192.168.100.20:/export/imagenes         25T   18T  6.5T  74% /imagenes



$ df -h -l
Filesystem                             Size  Used Avail Use% Mounted on
/dev/mapper/vg_sys_uinov0020-lv_root   5.5G  3.8G  1.4G  74% /
/dev/xvda1                             248M  104M  132M  44% /boot
/dev/mapper/vg_home-lv_new_home         20G  7.2G   12G  39% /home
/dev/mapper/vg_sys-lv_bkp              5.1G  2.3G  2.5G  49% /bkp
/dev/mapper/vg_sys-lv_tmp              3.0G  296M  2.6G  11% /tmp
/dev/mapper/vg_sys-lv_var              4.0G  2.3G  1.5G  61% /var



Mostrar TODOS los sistemas de archivo del sistema.

Existen los llamados "dummy file systems" que son pseudo-filesystems con 0 blocks de tamaño, que utiliza el sistema operativo. Siempre se ocultan por default y solo son visibles con la opción -a o --all

$ df -ah
Filesystem      Size  Used Avail Use% Mounted on
rootfs             -     -     -    - /
sysfs              0     0     0    - /sys
proc               0     0     0    - /proc
devtmpfs        7.8G     0  7.8G   0% /dev
securityfs         0     0     0    - /sys/kernel/security
tmpfs           7.8G  192M  7.6G   3% /dev/shm
devpts             0     0     0    - /dev/pts
tmpfs           7.8G   12M  7.8G   1% /run
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
cgroup             0     0     0    - /sys/fs/cgroup/systemd
pstore             0     0     0    - /sys/fs/pstore
cgroup             0     0     0    - /sys/fs/cgroup/cpu,cpuacct
cgroup             0     0     0    - /sys/fs/cgroup/devices
cgroup             0     0     0    - /sys/fs/cgroup/cpuset
cgroup             0     0     0    - /sys/fs/cgroup/net_cls,net_prio
cgroup             0     0     0    - /sys/fs/cgroup/blkio
cgroup             0     0     0    - /sys/fs/cgroup/hugetlb
cgroup             0     0     0    - /sys/fs/cgroup/memory
cgroup             0     0     0    - /sys/fs/cgroup/freezer
cgroup             0     0     0    - /sys/fs/cgroup/perf_event
cgroup             0     0     0    - /sys/fs/cgroup/pids
configfs           0     0     0    - /sys/kernel/config
/dev/sda3        59G   10G   46G  18% /
selinuxfs          0     0     0    - /sys/fs/selinux
debugfs            0     0     0    - /sys/kernel/debug
mqueue             0     0     0    - /dev/mqueue
systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
hugetlbfs          0     0     0    - /dev/hugepages
nfsd               0     0     0    - /proc/fs/nfsd
/dev/sda1       575M  206M  328M  39% /boot
sunrpc             0     0     0    - /var/lib/nfs/rpc_pipefs
/dev/dm-0       394G   93G  282G  25% /home
tmpfs           1.6G     0  1.6G   0% /run/user/988
fusectl            0     0     0    - /sys/fs/fuse/connections
tmpfs           1.6G   80K  1.6G   1% /run/user/1001
binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc


¿Requieres de una instalación o configuración de Linux o sus servicios?
¿Un desarrollo WEB empresarial a la medida?
¿Un curso o capacitación a la medida?
Revisa el sitio de SERVICIOS de LinuxTotal

LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.


Dona a través de paypal::


O a través de bitcoins:


14TNQv5wM3xkSv65gHGQ6s6f8yTZuFTohE
Más artículos de LinuxTotal

Una de las dificultades con una base de datos MySQL grande y activa es la de realizar respaldos limpios sin tener que desconectar ....


Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ....


He actualizado con varios nuevos comandos la popular guía de LinuxTotal.com.mx, asi como he añadido enlaces en los comandos en l....


El siguiente es un script muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de u....


En el artículo de LinuxTotal.com.mx sobre permisos se explica lo que es un archivo con permisos SUID o SGID, pueden ser potencial....


Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....


Hoy en día los usuarios de Windows y Linux tenemos múltiples formas de combinarlos en el mismo equipo. Ya sea que uses el tradic....


La más simple definición de un proceso podría ser que es una instancia de un programa en ejecución (corriendo). A los procesos....


¿Has visto esa combinación de r,w,x,- cuando listas un directorio?, tienes cierta idea que son los permisos, pero ¿como se usan....


Si acostumbras trabajar en la línea de comandos de Linux, muy posiblemente uses el shell bash (Bourne Again Shell, derivado del b....



Copyright © LinuxTotal.com.mx 2006-2018
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com