El df
y du
los comandos informan sobre el uso del espacio en disco desde el shell Bash utilizado en Linux, macOS y muchos otros sistemas operativos similares a Unix. Estos comandos le permiten identificar fácilmente lo que está consumiendo el almacenamiento de su sistema.
¿De qué vamos a hablar?
Visualización del espacio en disco total, disponible y utilizado
Bash contiene dos comandos útiles relacionados con el espacio en disco. Para averiguar el espacio en disco disponible y utilizado, utilice df
(sistemas de archivos de disco, a veces llamados libres de disco). Para descubrir qué está ocupando el espacio en disco utilizado, utilice du
(uso del disco).
Tipo df
y presione enter en una ventana del terminal Bash para comenzar. Verá una gran cantidad de resultados similares a la captura de pantalla a continuación. Usando df
sin ninguna opción mostrará el espacio disponible y utilizado para todos los sistemas de archivos montados. A primera vista, puede parecer impenetrable, pero es bastante fácil de entender.
df
Cada línea de la pantalla se compone de seis columnas.
- Fileystem: Nombre de este sistema de archivos.
- Bloques 1K: El número de bloques 1K que están disponibles en este sistema de archivos.
- Usado: El número de bloques 1K que se han utilizado en este sistema de archivos.
- Disponible: El número de bloques 1K que no se utilizan en este sistema de archivos.
- Uso%: La cantidad de espacio utilizado en este sistema de archivos se da como porcentaje.
- Archivo: El nombre del sistema de archivos, si se especifica en la línea de comandos.
- Montado en: El punto de montaje del sistema de archivos.
Puede reemplazar los recuentos de bloques 1K con una salida más útil utilizando el -B
(tamaño de bloque) opción. Para utilizar esta opción, escriba df,
un espacio, y luego -B
y una letra de la lista de K, M, G, T, P, E, Z o Y. Estas letras representan los valores kilo, mega, giga, tera, peta, exa, zeta y yotta del múltiplo de la escala 1024.
Por ejemplo, para ver las cifras de uso del disco en megabytes, debe utilizar el siguiente comando. Tenga en cuenta que no hay espacio entre la B y la M.
df -BM
El -h
Instrucciones de opción (legible por humanos) df
utilizar la unidad más aplicable para el tamaño de cada sistema de archivos. En la siguiente nota de salida que hay sistemas de archivos con tamaños de gigabyte, megabyte e incluso kilobyte.
df -h
Si necesita ver la información representada en números de inodos, utilice el -i
opción (inodos). Un inodo es una estructura de datos utilizada por los sistemas de archivos Linux para describir archivos y almacenar metadatos sobre ellos. En Linux, los inodos contienen datos como el nombre, la fecha de modificación, la posición en el disco duro, etc. para cada archivo y directorio. Esto no va a ser útil para la mayoría de las personas, pero los administradores de sistemas a veces deben referirse a este tipo de información.
df -i
A menos que se le diga que no lo haga, df
proporcionará información sobre todos los sistemas de archivos montados. Esto puede conducir a una pantalla desordenada con mucha salida. Por ejemplo, el /dev/loop
las entradas en las listas son pseudo sistemas de archivos que permiten montar un archivo como si fuera una partición. Si usas el nuevo Ubuntu snap
método de instalación de aplicaciones, puede adquirir muchos de estos. El espacio disponible en estos siempre será 0 porque no son realmente un sistema de archivos, por lo que no necesitamos verlos.
Podemos decirlo df
para excluir sistemas de archivos de un tipo específico. Para ello, necesitamos saber qué tipo de sistema de archivos deseamos excluir. El -T
La opción (print-type) nos dará esa información. Instruye df
para incluir el tipo de sistema de archivos en la salida.
df -T
El /dev/loop
las entradas son todas squashfs
sistemas de archivos. Podemos excluirlos con el siguiente comando:
df -x squashfs
Eso nos da un resultado más manejable. Para obtener un total, podemos agregar el --total
opción.
df -x squashfs --total
Podemos preguntar df
Para incluir sólo sistemas de archivos de un tipo determinado, mediante el cuadro de registro -t
(tipo) opción.
df -t ext4
Si queremos ver los tamaños de un conjunto de sistemas de archivos, podemos especificarlos por nombre. Los nombres de las unidades en Linux son alfabéticos. La primera unidad se llama /dev/sda
, la segunda unidad es /dev/sdb
, y así sucesivamente. Las particiones están numeradas. Así que /dev/sda1
es la primera partición de la unidad /dev/sda
. Te contamos df
para devolver información sobre un sistema de archivos determinado pasando el nombre del sistema de archivos como parámetro de comando. Veamos la primera partición del primer disco duro.
df /dev/sda1
Tenga en cuenta que puede utilizar comodines en el nombre del sistema de archivos, donde *
representa cualquier conjunto de caracteres y ?
representa cualquier carácter individual. Entonces, para ver todas las particiones en la primera unidad, podríamos usar:
df /dev/sda*
Podemos preguntar df
para informar sobre un conjunto de sistemas de archivos con nombre. Él estamos solicitando los tamaños de la /dev
y /run
filesystems, y nos gustaría un total.
df -h --total /dev /run
Para personalizar aún más la pantalla, podemos decir df
qué columnas incluir. Para ello, utilice el --output
y proporcione una lista separada por comas de los nombres de columna necesarios. Asegúrese de no incluir ningún espacio en la lista separada por comas.
- fuente: Nombre del sistema de archivos.
- fstype: Tipo de sistema de archivos.
- itotal: El tamaño del sistema de archivos en inodos.
- iused: El espacio utilizado en el sistema de archivos en inodos.
- iavail: El espacio disponible en el sistema de archivos en inodos.
- ipcent: El porcentaje de espacio utilizado en el sistema de archivos en inodos, como porcentaje.
- tamaño: El tamaño del sistema de archivos, por defecto en bloques de 1K.
- usado: El espacio utilizado en el sistema de archivos, por defecto en bloques de 1K.
- aprovechar: El espacio disponible en el sistema de archivos, por defecto en bloques de 1K.
- pcent: El porcentaje de espacio utilizado en el sistema de archivos en inodos, de forma predeterminada en bloques de 1K.
- archivo: El nombre del sistema de archivos si se especifica en la línea de comandos.
- blanco: Punto de montaje del sistema de archivos.
Preguntemos df
para informar sobre la primera partición en la primera unidad, con números legibles por humanos y con las columnas source, fstype, size, used, avail y pcent:
df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent
Los comandos largos son candidatos perfectos para convertirse en un alias. Podemos crear un alias dfc
(para df custom
) escribiendo lo siguiente y pulsando Intro:
alias dfc="df -h /dev/sda1 --output=source,fstype,size,used,avail,pcent"
Mecanografía dfc
y presionar enter tendrá el mismo efecto que escribir en el comando long. Para que este alias sea permanente, agréguelo a su .
o bashrc
.bash_aliases
archivo.
Hemos estado buscando formas de refinar la producción de df
para que la información que muestra coincida con sus requisitos. Si quieres tomar el enfoque opuesto y tener df
Devolver toda la información que pueda utilizar el -a
(todos) opción y el --output
como se muestra a continuación. El -a
(todos) opción pregunta df
para incluir todos los sistemas de archivos y utilizar el cuadro de seguridad --output
opción sin Causas de una lista de columnas separadas por comas df
para incluir cada columna.
df -a --output
Canalización de la salida desde df
a través de la less
command es una forma conveniente de revisar la gran cantidad de salida que esto puede producir.
df -a --output | less
Averiguar qué está ocupando el espacio en disco utilizado
Investiguemos un poco y descubramos qué está ocupando espacio en esta PC. Comenzaremos con uno de nuestros df
Comandos.
df -h -t ext4
Hay un 78% de espacio en disco utilizado en la primera partición del primer disco duro. Podemos utilizar el du
para mostrar qué carpetas contienen la mayor cantidad de datos. Emisión del du
Comando sin opciones mostrará una lista de todos los directorios y subdirectorios debajo del directorio, el du
se emitió el comando en. Si lo hace desde su carpeta de inicio, el listado será muy largo.
du
El formato de salida es muy simple. Cada línea muestra el tamaño y el nombre de un directorio. De forma predeterminada, el tamaño se muestra en bloques de 1K. Para forzar du
Para utilizar un tamaño de bloque diferente, utilice el -B
(tamaño de bloque) opción. Para utilizar esta opción, escriba du
, un espacio y, a continuación, -B
y una letra de la lista de K, M, G, T, P, E, Z e Y, como hicimos anteriormente para df
. Para usar bloques de 1M, use este comando:
du -BM
Al igual que df
, du
tiene una opción legible por humanos, -h
, que utiliza un rango de tamaños de bloque según el tamaño de cada directorio.
du -h
El -s
(resumir) da un total para cada directorio sin mostrar los subdirectorios dentro de cada directorio. El siguiente comando pregunta du
para devolver información en formato de resumen, en números legibles por humanos, para todos los directorios (*) debajo del directorio de trabajo actual.
du -h -s *
La carpeta Imagen contiene la mayor cantidad de datos con diferencia. Podemos preguntar du
para ordenar las carpetas en tamaño de mayor a menor.
du -sm Pictures/* | sort -nr
Refinando la información devuelta por df
y du
es fácil averiguar cuánto espacio en el disco duro está en uso y descubrir qué está ocupando ese espacio. A continuación, puede tomar una decisión informada sobre mover algunos datos a otro almacenamiento, agregar otro disco duro a su computadora o eliminar datos redundantes.
Estos comandos tienen muchas opciones. Describimos las opciones más útiles aquí, pero puede ver una lista completa de las opciones para el Comando df y para el comando du en las páginas de comando man de Linux.