Estimación del espacio de archivos en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo estimar y analizar el uso del espacio en disco en sistemas Linux utilizando el comando du (Disk Usage, Uso de disco). La gestión del espacio en disco es una habilidad fundamental para los administradores de sistemas y los usuarios de Linux. El comando du proporciona una forma de verificar cuánto espacio en disco están utilizando los archivos y directorios en su sistema.

Al final de este laboratorio, podrá utilizar eficazmente el comando du con varias opciones para analizar el uso del disco, identificar archivos y directorios grandes y gestionar su espacio de almacenamiento de manera más eficiente.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/cd -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} linux/mkdir -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} linux/find -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} linux/sort -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} linux/du -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} linux/dd -.-> lab-271271{{"Estimación del espacio de archivos en Linux"}} end

Comprender el uso básico del comando du

El comando du se utiliza para estimar el uso del espacio de archivos en sistemas Linux. En este paso, aprenderá la sintaxis básica y la salida del comando du.

Primero, creemos una estructura de directorios con algunos archivos de muestra para trabajar:

  1. Abra una terminal en su entorno de máquina virtual (VM) de LabEx.

  2. Cree una estructura de directorios de proyecto con los siguientes comandos:

mkdir -p ~/project/data
cd ~/project/data
echo "This is file 1 content" > file1.txt
echo "This is file 2 content" > file2.txt
echo "This is a larger file with more content" > file3.txt
  1. Ahora, usemos el comando du básico para ver el uso del disco de estos archivos:
du ~/project/data

Verá una salida similar a esta:

4       /home/labex/project/data

El número mostrado es el espacio en disco utilizado en kilobytes (KB). Cada archivo y directorio ocupa al menos 4 KB de espacio en disco, que suele ser la unidad de asignación mínima (tamaño de bloque) en la mayoría de los sistemas de archivos.

  1. Para verificar el tamaño de archivos individuales, puede especificar las rutas de los archivos:
du ~/project/data/file1.txt ~/project/data/file2.txt ~/project/data/file3.txt

Notará que incluso los archivos pequeños ocupan al menos 4 KB de espacio en disco debido a la asignación del tamaño de bloque del sistema de archivos.

Usar el formato legible por humanos y opciones de resumen

En el paso anterior, aprendiste el uso básico del comando du. Sin embargo, leer el uso del disco en kilobytes no siempre es conveniente, especialmente para archivos y directorios más grandes. En este paso, aprenderás cómo usar opciones para hacer la salida más legible.

La opción -h (Formato legible por humanos)

La opción -h muestra los tamaños en un formato legible por humanos (KB, MB, GB, etc.), lo que facilita la comprensión de los tamaños de los archivos:

du -h ~/project/data

Ejemplo de salida:

4.0K    /home/labex/project/data

La opción -s (Resumen)

La opción -s proporciona un resumen del uso total del disco en lugar de mostrar el uso de cada subdirectorio:

du -s ~/project/data

Ejemplo de salida:

4       /home/labex/project/data

Combinar opciones: -sh

Puedes combinar estas opciones para obtener una salida más útil. Creemos un archivo más grande y luego usemos las opciones combinadas:

cd ~/project/data
## Create a 1MB file filled with zeros
dd if=/dev/zero of=largefile.bin bs=1M count=1

Ejemplo de salida:

1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00302182 s, 347 MB/s

Ahora, verifica el uso del disco con las opciones combinadas:

du -sh ~/project/data

Ejemplo de salida:

1.1M    /home/labex/project/data

También veamos los tamaños de archivos individuales con estas opciones:

du -sh ~/project/data/*

Ejemplo de salida:

4.0K    /home/labex/project/data/file1.txt
4.0K    /home/labex/project/data/file2.txt
4.0K    /home/labex/project/data/file3.txt
1.0M    /home/labex/project/data/largefile.bin

El formato legible por humanos hace que sea mucho más fácil entender los tamaños de los archivos, especialmente cuando se trata de archivos y directorios más grandes.

Analizar la estructura de directorios con du

En este paso, aprenderás cómo analizar el uso del disco de una estructura de directorios más compleja. Crearás directorios anidados con diferentes tamaños de archivos y usarás du para analizarlos.

Crear una estructura de directorios anidados

Primero, creemos una estructura de directorios más compleja:

mkdir -p ~/project/data/docs ~/project/data/images ~/project/data/backups

Ahora, agreguemos algunos archivos a estos directorios:

## Add text files to docs directory
cd ~/project/data/docs
echo "Document 1 content" > doc1.txt
echo "Document 2 content" > doc2.txt

## Create larger files in images directory
cd ~/project/data/images
dd if=/dev/zero of=image1.jpg bs=500K count=1
dd if=/dev/zero of=image2.jpg bs=300K count=1

## Create a backup file
cd ~/project/data/backups
dd if=/dev/zero of=backup.tar bs=2M count=1

Analizar directorios específicos

Ahora, usemos el comando du para analizar directorios específicos:

## Check the size of the docs directory
du -sh ~/project/data/docs

## Check the size of the images directory
du -sh ~/project/data/images

## Check the size of the backups directory
du -sh ~/project/data/backups

Verás que cada directorio tiene un tamaño diferente según los archivos que contiene.

Analizar la estructura de directorios completa

Para ver el uso del disco de toda la estructura, incluyendo subdirectorios, usa:

du -h ~/project/data

Esto mostrará el tamaño de cada subdirectorio y el tamaño total al final.

Usar la opción --max-depth

A veces, quieres ver el uso del disco a una profundidad específica de directorio. La opción --max-depth te ayuda con esto:

du -h --max-depth=1 ~/project/data

Esto mostrará solo los subdirectorios inmediatos de ~/project/data sin profundizar más en el árbol de directorios.

Ejemplo de salida:

8.0K    /home/labex/project/data/docs
804K    /home/labex/project/data/images
2.0M    /home/labex/project/data/backups
3.9M    /home/labex/project/data

Este comando es especialmente útil cuando quieres identificar qué directorios de nivel superior están consumiendo más espacio en disco.

Uso avanzado del comando du

En este último paso, aprenderás algunas técnicas avanzadas utilizando el comando du para ordenar directorios por tamaño, excluir ciertos archivos y centrarte en archivos grandes.

Ordenar directorios por tamaño

Una tarea común es encontrar los directorios o archivos más grandes. Puedes combinar du con sort para lograr esto:

du -h ~/project/data | sort -h

La opción -h para sort hace que entienda y ordene correctamente los tamaños legibles por humanos. La salida se ordenará de menor a mayor.

Para ordenar de mayor a menor, agrega la opción -r (inversa) a sort:

du -h ~/project/data | sort -hr

Ejemplo de salida:

3.9M    /home/labex/project/data
2.0M    /home/labex/project/data/backups
804K    /home/labex/project/data/images
8.0K    /home/labex/project/data/docs
4.0K    /home/labex/project/data/docs/doc2.txt
4.0K    /home/labex/project/data/docs/doc1.txt

Encontrar tipos de archivos específicos

Puedes usar el comando find en combinación con du para calcular el tamaño de tipos de archivos específicos:

## Find all jpg files and check their sizes
find ~/project/data -name "*.jpg" -exec du -h {} \;

Este comando encuentra todos los archivos con la extensión .jpg en el directorio ~/project/data y ejecuta du -h en cada uno de ellos.

Excluir directorios

A veces, quieres excluir ciertos directorios del cálculo del uso del disco. Puedes usar la opción --exclude:

du -h --exclude="backups" ~/project/data

Esto calculará el uso del disco de todo en ~/project/data excepto el directorio backups.

Obtener el uso total del disco

Para obtener solo el total general (resumen) de un directorio y todos sus subdirectorios:

du -sh ~/project/data

Ejemplo de salida:

3.9M    /home/labex/project/data

Esto es especialmente útil cuando solo estás interesado en el tamaño total de un árbol de directorios en lugar de su desglose.

Verificar el uso del disco por antigüedad de los archivos

Creemos algunos archivos con diferentes marcas de tiempo para demostrar esto:

## Create a directory for this example
mkdir -p ~/project/data/timeline
cd ~/project/data/timeline

## Create files with different timestamps
echo "Old file" > old_file.txt
echo "Recent file" > recent_file.txt
touch -d "1 month ago" old_file.txt

Ahora puedes usar find con du para verificar los archivos modificados dentro de un cierto período de tiempo:

## Find files modified in the last 7 days and check their sizes
find ~/project/data -type f -mtime -7 -exec du -h {} \;

Esto mostrará los tamaños de todos los archivos que se modificaron en los últimos 7 días.

Estas técnicas avanzadas te ayudarán a administrar eficazmente el espacio en disco en sistemas Linux al identificar dónde se está utilizando el espacio y encontrar oportunidades para liberar almacenamiento.

Resumen

En este laboratorio, has aprendido cómo usar el comando du para estimar y analizar el uso del espacio en disco en sistemas Linux. Has explorado:

  • El uso básico del comando du para verificar el uso del disco de archivos y directorios
  • El uso de opciones como -h para obtener una salida legible por humanos y -s para obtener información resumida
  • El análisis del uso del disco en estructuras de directorios complejas con subdirectorios anidados
  • Técnicas avanzadas, incluyendo la ordenación por tamaño, el filtrado por tipo de archivo, la exclusión de directorios y la verificación de archivos por tiempo de modificación

Estas habilidades son esenciales para una gestión efectiva del espacio en disco en sistemas Linux. El uso del comando du te permite identificar archivos y directorios grandes que consumen una cantidad significativa de espacio en disco, lo que te ayuda a tomar decisiones informadas sobre la gestión del almacenamiento.

Con el conocimiento adquirido en este laboratorio, ahora puedes monitorear y analizar con confianza el uso del disco en cualquier entorno Linux, ya sea una computadora personal, un servidor o una instancia en la nube.