Compresión 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

La compresión de archivos es una técnica esencial en la administración del sistema Linux y en el uso diario. Cuando se trabaja con múltiples archivos, comprimirlos puede ahorrar espacio en el disco, acelerar las transferencias de archivos y ayudar a organizar archivos relacionados juntos. Este laboratorio (lab) lo guiará a través del proceso de compresión de archivos utilizando la utilidad zip en Linux.

El comando zip es una herramienta poderosa para la compresión y el archivado de archivos en Linux. Permite combinar múltiples archivos en un solo archivo comprimido, lo cual es especialmente útil cuando se necesita realizar copias de seguridad, transferir o distribuir archivos de manera eficiente.

Al final de este laboratorio, aprenderá a:

  • Crear y organizar archivos para la compresión
  • Utilizar el comando zip para comprimir múltiples archivos
  • Validar la integridad de un archivo comprimido

Estas habilidades son valiosas para cualquier usuario de Linux, desde principiantes hasta administradores de sistemas, ya que ayudan a administrar el espacio en el disco de manera eficiente y simplifican las tareas de gestión de archivos.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/CompressionandArchivingGroup(["Compression and Archiving"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/pwd("Directory Displaying") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/CompressionandArchivingGroup -.-> linux/zip("Compressing") linux/CompressionandArchivingGroup -.-> linux/unzip("Decompressing") subgraph Lab Skills linux/ls -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/touch -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/cd -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/pwd -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/mkdir -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/zip -.-> lab-271451{{"Compresión de archivos en Linux"}} linux/unzip -.-> lab-271451{{"Compresión de archivos en Linux"}} end

Creación del directorio del proyecto y archivos de muestra

En este paso, creará un nuevo directorio llamado project y lo llenará con archivos de muestra que se utilizarán para la compresión en los pasos posteriores.

Primero, asegúrese de estar en su directorio principal utilizando el comando cd:

cd ~

A continuación, cree un nuevo directorio llamado project utilizando el comando mkdir:

mkdir project

Ahora, navegue al directorio project recién creado:

cd project

Ahora debería estar en el directorio /home/labex/project. Puede verificar su ubicación actual utilizando el comando pwd:

pwd

Debería ver la siguiente salida:

/home/labex/project

Ahora, creemos algunos archivos de muestra que comprimiremos más adelante. El comando touch nos permite crear archivos vacíos:

touch report.txt data.csv image.jpg

Verifiquemos que los archivos se hayan creado correctamente utilizando el comando ls:

ls

Debería ver la siguiente salida:

data.csv  image.jpg  report.txt

Estos archivos están actualmente vacíos. En un escenario del mundo real, estos contendrían datos reales, informes e imágenes. Para este laboratorio (lab), trabajaremos con estos archivos vacíos para demostrar técnicas de compresión de archivos.

Compresión de archivos con el comando zip

Ahora que ha creado los archivos de muestra, el siguiente paso es comprimirlos en un solo archivo zip. El comando zip en Linux le permite combinar múltiples archivos en un solo archivo comprimido, lo que ahorra espacio en el disco y facilita la transferencia de archivos.

La sintaxis básica del comando zip es:

zip [options] [archive_name] [file(s) to include]

Donde:

  • [options] son parámetros adicionales que modifican el comportamiento del comando
  • [archive_name] es el nombre del archivo zip que desea crear
  • [file(s) to include] son los archivos que desea agregar al archivo comprimido

Comprimamos los archivos que creó en el paso anterior. Asegúrese de estar en el directorio /home/labex/project:

cd ~/project

Ahora, ejecute el siguiente comando para comprimir los archivos:

zip project.zip report.txt data.csv image.jpg

Este comando creará un nuevo archivo llamado project.zip que contiene los tres archivos que especificó.

Después de ejecutar el comando, debería ver una salida similar a esta:

  adding: report.txt (stored 0%)
  adding: data.csv (stored 0%)
  adding: image.jpg (stored 0%)

Nota: La salida podría mostrar "stored 0%" en lugar de "deflated" con un porcentaje porque nuestros archivos de muestra están vacíos. Con archivos reales que contengan datos, vería porcentajes de compresión que indican cuánto espacio se ha ahorrado.

Puede verificar que se haya creado el archivo zip listando el contenido del directorio:

ls -l

Este comando debería mostrar los archivos en el directorio, incluyendo el archivo project.zip recién creado:

total 4
-rw-r--r-- 1 labex labex    0 Aug  1 12:00 data.csv
-rw-r--r-- 1 labex labex    0 Aug  1 12:00 image.jpg
-rw-r--r-- 1 labex labex  558 Aug  1 12:01 project.zip
-rw-r--r-- 1 labex labex    0 Aug  1 12:00 report.txt

¡Felicidades! Ha comprimido con éxito los archivos en un archivo zip.

Validación del archivo zip

Después de crear un archivo zip, es importante validarlo para asegurarse de que se incluyeron todos los archivos correctamente y de que el archivo no está dañado. En este paso, aprenderá cómo verificar la integridad de su archivo zip y ver su contenido.

Linux proporciona herramientas convenientes para la validación de archivos zip. El comando unzip con diferentes opciones se puede utilizar para probar y listar el contenido de un archivo zip.

Primero, probemos la integridad del archivo zip utilizando la opción -t:

unzip -t project.zip

La opción -t le dice a unzip que pruebe el archivo sin extraer realmente los archivos. Esto comprueba si el archivo es válido y no está dañado.

Debería ver una salida similar a:

Archive:  project.zip
    testing: report.txt               OK
    testing: data.csv                 OK
    testing: image.jpg                OK
No errors detected in compressed data of project.zip.

Esta salida confirma que el archivo es válido y que todos los archivos están intactos.

A continuación, listemos el contenido del archivo zip para ver qué archivos se incluyen en él:

unzip -l project.zip

La opción -l significa "listar" y muestra todos los archivos contenidos en el archivo sin extraerlos.

Debería ver una salida similar a:

Archive:  project.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2023-08-01 12:00   report.txt
        0  2023-08-01 12:00   data.csv
        0  2023-08-01 12:00   image.jpg
---------                     -------
        0                     3 files

Esta salida muestra los archivos incluidos en el archivo, junto con sus tamaños y marcas de tiempo.

Estos pasos de validación son importantes cuando se trabaja con archivos comprimidos porque:

  1. Confirman que el proceso de compresión fue exitoso.
  2. Verifican que se incluyeron todos los archivos deseados en el archivo.
  3. Aseguran que el archivo no está dañado y se puede extraer correctamente más adelante.

Si alguna vez necesita extraer el contenido del archivo zip, puede usar el comando unzip sin ninguna opción:

## Esto es solo para demostración, no necesita ejecutar este comando para este laboratorio
## unzip project.zip

Esto extraería todos los archivos del archivo al directorio actual.

Resumen

En este laboratorio, aprendiste las habilidades esenciales para la compresión de archivos en Linux utilizando la utilidad zip. La compresión de archivos es una técnica crucial para la gestión eficiente de archivos, la reducción de los requisitos de almacenamiento y la simplificación de la transferencia de archivos.

Los conceptos clave cubiertos en este laboratorio incluyen:

  1. Crear y organizar un directorio de proyecto con archivos de muestra para prepararse para la compresión.
  2. Utilizar el comando zip para comprimir múltiples archivos en un solo archivo comprimido.
  3. Validar la integridad de un archivo zip utilizando el comando unzip -t.
  4. Listar el contenido de un archivo zip utilizando el comando unzip -l.

Estas habilidades son valiosas en muchos escenarios del mundo real, como:

  • Hacer copias de seguridad de archivos importantes.
  • Compartir múltiples archivos de manera eficiente.
  • Reducir el uso de espacio de almacenamiento.
  • Organizar archivos relacionados juntos.

La compresión de archivos es una habilidad fundamental para los usuarios de Linux de todos los niveles, desde principiantes hasta administradores de sistemas avanzados. Las técnicas que practicaste en este laboratorio te ayudarán a gestionar tus archivos de manera más eficiente y efectiva en diversos entornos de computación.

A medida que continúes aprendiendo Linux, es posible que desees explorar otras utilidades de compresión como gzip, tar y bzip2, que ofrecen diferentes algoritmos y características de compresión para casos de uso específicos.