Latinoamérica
de.novatoanovato@gmail.com

Comando -df-

Comando -df-

Comando df

El comado df (disk free), es una herramienta CLI del tipo Unix que nos permite conocer la cantidad de espacio libre y espacio utilizado por nuestro sistema de archivos en nuestras unidades de almacenamiento. Importante tener en claro esto ya que es solo de nuestras unidades de almacenamiento, no de nuestros archivos y directorios.

Este programa es parte de los llamados built-in, programas que por defecto ya vienen instalados en el sistema operativo.

Manual del comando df

Para desarrollar este articulo haremos uso de su manual. Para llamar esta documentación que se encuentra disponible en nuestro sistemas ejecutamos la linea man df correspondiente a la sintaxis del comando man y nos imprimirá en pantalla…

Sintaxis

El comando df se corresponde con la siguiente sintaxis:

df [opciones] [directorios]

Interfaz del comando -df-

Cuando ejecutamos el comando df, de forma predeterminada no imprime en pantalla informacion sobre los sistemas de archivos accesibles en forma de tabla.

La interfaz se nos presenta en forma de tabla, donde las columnas representan.

  • S.ficheros: El nombre de lo archivo del sistema.
  • Bloques de 1k: Indica el tamaño total de la unidad de almacenamiento.
  • Usado: Muestra cuando espacio está siendo ocupado en cada archivo del sistema.
  • Disponible: Muestra cuando espacio disponible queda para cada archivo del sistema.
  • Uso%: Muestra el porcentaje del espacio que está siendo usado.
  • Montado en: Nos muestra el directorio donde esta cada archivo del sistema.

Es importante también reconocer los nombres de los archivos de sistema para identificar sobre que se esta haciendo la lectura.

  • dev: Incluye todos los dispositivos de almacenamiento, en forma de archivos, conectados al sistema.
  • run: Contiene información del funcionamiento del sistema desde el último arranque. Usuarios logueados, demonios en ejecución, etc.
  • /dev/sdaX: Las particiones de el o los discos.
  • tmpfs: Aparece como un sistema de archivos montado, aunque usa memoria volátil. Es similar a los discos RAM, que aparecen como discos virtuales, y pueden contener sistemas de archivos. tmpfs normalmente también usa espacio de intercambio en situaciones en las que hay poca memoria volátil disponible.
    Como los datos están principalmente en memoria volátil, las velocidades para realizar operaciones en tmpfs son generalmente mucho mayores en comparación con un sistema de archivos en otros dispositivos de almacenamiento como discos rígidos. Por usar memoria volátil, los datos en tmpfs no persisten después de reiniciar el sistema.

Opciones del comando -df-

El comando df posee en su sintaxis una serie de opciones y parámetros que nos permiten hacer peticiones un tanto mas especificas, de este modo no es posible cambiar la forma en la que se nos presenta la salida. Analizaremos a continuación cada caso.

Por unidad de memoria de almacenamiento

Por defecto, df nos imprime los espacio de memoria ocupados o libres en kilo-bytes.

Unidades de información

Partiendo de la unidad mínima de información, el bit (1 ó 0, Verdadero ó Falso, On – Off), nos encontramos con el byte u octeto, conjunto de 8 bits, que definiremos como la unidad básica de información.

Todas las demás unidades que nos vayamos encontrando será múltiplos del byte y no del bit como comúnmente se cree. Es un error usual confundirlos: el byte se denota con una B (b mayúscula) y el bit con una b (b minúscula). El término bit proviene de los vocablos binary digit.

En nuestra vida cotidiana el byte es una unidad demasiado pequeña, cualquier archivo constará con miles o millones de bytes, por lo que usaremos unidades mayores que nos permiten manejar más fácilmente las dimensiones cotidianas de información.

Sistema Internacional de Medidas (SI)

Según el S.I. tenemos el kilobyte, (kB) que son 1000 bytes, el megabyte (MB) que son 1.000.000 debytes, o sea 1.000 kB, y el gigabyte que son 1000.000.000 bytes, o sea 1000 MB. También es usado el Terabyte (TB), 1.000.000.000.000 bytes, es decir, 1.000 GB.Fijémonos en que cada unidad resulta de multiplicar por 1.000 la unidad anterior:

1.000 B son 1kB,1.000 kB son 1MB, 1.000 MB son 1 GB, y 1.000 GB son 1TB.

Comisión Electrotécnica Internacional (CEI)

Los prefijos binarios fijados por la Comisión Electrotécnica Internacional en 1998, que son cantidades muy parecidas pero un poco diferentes. Los prefijos de la CEI son el kibi (ki), el mebi (Mi), el gibi (Gi) y el Tibi (Ti) y la diferencia entre ellos no es de 1.000 como en el SI, sino de 1.024.

Así, 1.024 B son 1kiB, 1.024kiB son 1MiB, 1.024 MiB son 1GiB y 1.024 MiB son 1TiB. Ese 1.024 es el resultado de 2 elevado a la décima potencia (2^10).

Como se puede ver el lío y la confusión pueden ser tremendos si no tenemos bien claros el uso de una u otra. Para los dispositivos de almacenamiento y el lenguaje cotidiano usaremos siempre las unidades del SI, ya que está basado en el sistema de numeración decimal. Sin embargo, el ordenador y los sistemas informáticos o de transmisión de información en general usarán el sistema de numeración del CEI, ya que el sistema de numeración usado es el binario, y los valores de los prefijos de la CEI son potencias de 2.

Por ejemplo: en un disco duro de 500 GB, el ordenador nos hablará de 465 GiB. Un CD-ROM de 700MB tiene 652 MiB y un DVD de 4,7 GB tiene 4,37 GiB.

Selección de visualización de tamaños segun unidades de almacenamiento

El comando df bajo el parámetro -B y una serie de opciones nos permiten visualizar el tamaño de los bloques de memoria en distintas unidades, por defecto según el SI.

Veamos a continuación cada una de estas opciones.

En Kilo-Bytes

Por defecto, al ejecutar nos imprimirá el tamaño de los bloques de memoria en kilo-bytes.

df ó df -Bk  ó df --block-size=k

En Mega-Bytes

df -Bm
ó df --block-size=m

 

En Giga-Bytes

df -Bg ó df --block-size=g

 

En Tera-Bytes

df -Bt ó df --block-size=g

Otras unidades

En lo que concierne al uso de GNU/Linux a nivel usuario, la demostración sobre la unidades hasta los tera-bytes es mas que suficiente, ya que a partir de este, las demás unidades representan tamaños demasiado grandes. De igual modo les dejo las opciones y las unidades que estas representan.

  • p = Petabytes
  • e = Exabyte
  • z = Zettabyte
  • y = Yottabyte

Selección de unidades automática

El comando df cuenta con una opción mostrarnos en todos los campos de salida automáticamente una unidad, haciendo que esta sea cómoda de leer y se ajuste según el tamaño a una unidad. También podemos solicitar las unidades según el sistema CEI o SI.

Según el Sistema Internacional de Medidas (SI)

df -H

Según la Comisión Electrotécnica Internacional (CEI)

df -h

Solicitar totales para cada columna

Si queremos que al final de cada columna se nos agregue una fila con la informacion de los totales de cada columna, df cuenta con el parámetro –total para obtener la siguiente salida.

df --total

Podemos hacer uso de algunos de los parametros ya visto para facilitar la lectura de las unidades de informacion.

df -h --total ó df -H --total

Solicitar el tipo de sistema de archivos de cada unidad

De forma predeterminada, en la interfaz de df no se muestra el tipo de sistema de archivos. Pero…

¿Qué son los sistemas de archivos?

Un sistema de archivos son los métodos y estructuras de datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o partición; es decir, es la manera en la que se organizan los archivos en el disco.

Para solicitarlo disponemos del parámetro -T o su variante –print-type, quien nos agregara una nueva columna indicando el tipo de sistema de archivos que corresponde a cada unidad.

df -T ó df --print-type

Espacio ocupado por inodos

Primero que nada definamos ¿que es un inodo?, también conocido como nodo indice o nodo -i:

Es una estructura de datos presente en los sistemas de archivos de GNU/Linux y también UNIX. En dicha estructura se almacenan características especificas del archivo o directorio presentes en el sistema, como por ejemplo los atributos de estos entre los que encontramos: los permisos, el tamaño del archivo, el o los grupos, la lista de control de accesos, etc.

En GNU/Linux, cada archivo que creas recibe un inodo. También se pueden crear enlaces fijos entre archivos que también utilizan inodos.

Quedarse sin espacio en el disco no es el único problema que podemos enfrentar al ejecutar un sistema GNU/Linux. Ya que, existe un límite en la cantidad de inodos que un sistema de archivos puede usar.

El comando df nos brinda opciones para verificar si nuestro sistemas de archivos está cerca de alcanzar su límite. Para ello ejecutamos el comando df y junto al parámetro -i ó su equivalente –inodes.

También podrías agregar la opción de selección automáticas de unidades de informacion, así, los tamaños nos serán mas fáciles de leer…

Donde apreciamos en cada columna
  • S.ficheros: El nombre de los archivo del sistema.
  • Nodos -i: Indica el tamaño total disponible para los inodos.
  • NUsado: Muestra cuando espacio está siendo ocupado por inodos.
  • Nlibres: Muestra cuando espacio disponible queda para ser ocupado por inodos.
  • NUso%: Muestra el porcentaje del espacio que está siendo usado por inodos.
  • Montado en: Nos muestra el directorio donde se encuentra asignado el espacio para inodos.

Personalizar salida de df

Este comando nos permite personalizar la salida, de forma que podamos elegir las columnas que queremos que se nos impriman. Esta orden esta regida por la siguiente sintaxis

df --output=FIELD_LIST

Las opciones disponibles para FIELD_LIST son las siguientes:

  • source : Nos listara los recursos. El “S.ficheros: El nombre de lo archivo del sistema”
  • fstype : Nos listara el tipo de sistema de archivos (ext4, ext2, etc)
  • itotal : Nos listara el tamaño total disponible para los inodos
  • iused : Muestra cuando espacio está siendo ocupado por inodos.
  • iavail : Muestra cuando espacio disponible queda para ser ocupado por inodos.
  • ipcent : Muestra el porcentaje del espacio que está siendo usado por inodos.
  • size : Nos muestra el tamaño total disponible del los bloques de la unidad
  • used : Muestra cuando espacio está siendo ocupado en cada archivo del sistema.
  • avail : Muestra cuando espacio disponible queda para cada archivo del sistema.
  • pcent : Muestra el porcentaje del espacio que está siendo usado.
  • target : Nos muestra el directorio donde esta cada archivo del sistema.

Pudiendo hacer uso de cualquiera simultáneamente, combinándolas según nuestras necesidades e incluso podemos hacer una petición para que la unidad de los tamaños se elija de forma automática con la opción -h, donde obtendríamos…

df --output=target,size,pcent,itotal,iused,ipcent -h

 

Espero sea de utilidad
Saludos, Cristian.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada.