CodeGym /Cursos /Docker SELF /Archivado y compresión de archivos: comandos `tar`, `gzip...

Archivado y compresión de archivos: comandos `tar`, `gzip`, `zip`

Docker SELF
Nivel 6 , Lección 4
Disponible

Archivado y compresión de archivos: comandos tar, gzip, zip

1. Concepto de archivado y compresión

¿Qué es el archivado y para qué sirve?

Imagina un armario lleno de libros. Para guardarlos de manera compacta, podrías meterlos en una caja (archivado) y atarla con una cuerda para ahorrar espacio (compresión). En el mundo de las computadoras, el archivado es el proceso de unir varios archivos en un solo contenedor (archivo), y la compresión es la disminución de su tamaño.

¿Pero para qué sirve esto? Aquí van algunos ejemplos:

  • Almacenamiento de datos: Al empaquetar archivos en un archivo, puedes moverlos o copiarlos fácilmente como un solo archivo.
  • Transferencia de datos: Al comprimir los datos ocupan menos espacio, lo que acelera su transferencia por la red.
  • Copias de seguridad: El archivado permite proteger los datos y facilita su recuperación.

Por cierto, ¿alguna vez intentaste mandar 1000 archivos por correo? ¡Sin archivado, sería una tortura!


2. El comando tar: creación y manejo de archivos

¿Qué es tar?

tar es una utilidad para archivar archivos en Linux. Por sí mismo, tar no comprime archivos, simplemente los une en uno solo. Si deseas comprimir un archivo, puedes usarlo junto con una herramienta de compresión (gzip, bzip2, etc.).

Sintaxis general

tar [opciones] <archivo> <archivos/carpetas>

Opciones principales

  • -c: crea un archivo nuevo.
  • -v: salida detallada de las operaciones (te informa sobre todos los archivos añadidos).
  • -f: especifica el nombre del archivo.
  • -x: extrae archivos del archivo.
  • -t: muestra el contenido del archivo.

Ejemplos de uso

1. Creación de un archivo

tar -cvf archive.tar file1.txt file2.txt
  • Crea un archivo archive.tar a partir de dos archivos file1.txt y file2.txt.
  • -c: crea un nuevo archivo.
  • -v: muestra en la terminal todo el proceso de adición de archivos.
  • -f: especifica que el nombre del archivo es archive.tar.

2. Archivado de una carpeta

tar -cvf project.tar /home/user/project
  • Crea un archivo project.tar que incluye toda la carpeta /home/user/project.

3. Extracción de un archivo

tar -xvf archive.tar
  • Extrae el archivo archive.tar en el directorio actual.

4. Ver el contenido de un archivo

tar -tvf archive.tar
  • Muestra una lista de archivos y carpetas en el archivo.

3. Compresión con gzip

¿Qué hace gzip?

Si tar es una caja, entonces gzip es una bolsa al vacío que reduce su tamaño. gzip reduce los datos utilizando algoritmos de compresión, lo que lo convierte en una herramienta ideal para ahorrar espacio.

Sintaxis general

gzip [opciones] <archivo>

Ejemplos de uso

1. Compresión de un archivo

gzip file1.txt
  • Después de ejecutar, el comando cambiará el archivo file1.txt a file1.txt.gz.

2. Descompresión de un archivo

gunzip file1.txt.gz
  • Restaura el archivo original file1.txt.

3. Archivado y compresión con tar y gzip

tar -czvf archive.tar.gz file1.txt file2.txt
  • Crea el archivo archive.tar.gz, que combina y comprime los archivos file1.txt y file2.txt.

4. Extracción de un archivo comprimido

tar -xzvf archive.tar.gz
  • Descomprime y extrae el contenido del archivo archive.tar.gz.

4. Utilidad zip para crear archivos comprimidos

¿Cuál es la diferencia con tar?

A diferencia de tar, zip crea directamente un archivo comprimido, que por defecto puede ser utilizado en Windows y otros sistemas.

Sintaxis general

zip [opciones] <archivo> <archivos/carpetas>

Ejemplos de uso

1. Crear un archivo zip

zip archive.zip file1.txt file2.txt
  • Crea un archivo archive.zip, que incluye los archivos file1.txt y file2.txt.

2. Archivar una carpeta

zip -r project.zip /home/user/project
  • Crea un archivo project.zip, que incluye toda la carpeta /home/user/project.
  • -r: agregar archivos y carpetas de forma recursiva.

3. Extraer contenido de un archivo zip

unzip archive.zip
  • Extrae el contenido del archivo archive.zip.

5. Diferencias entre tar, gzip y zip

Utilidad Archivado Compresión Enfoque Uso principal
tar Paquete de archivos Combinar archivos en un archivo sin compresión
gzip Compresión Reducir el tamaño de archivos o archivos archivados individuales
zip Todo en uno Creación de archivos portátiles

6. Tarea práctica

  1. Crea un archivo backup.tar con el contenido de la carpeta /home/user/documents.
  2. Comprime el archivo usando gzip para obtener backup.tar.gz.
  3. Extrae el archivo en otro directorio, por ejemplo, /tmp/backup.
  4. Crea un archivo zip docs.zip con los archivos doc1.txt y doc2.txt.
  5. Intenta extraer el contenido de docs.zip usando el comando unzip.

7. Errores típicos y características

1. Error "Permission denied" Si intentas archivar archivos a los que el acceso está restringido, recibirás un mensaje de error. Ejecuta el comando con derechos de administrador: sudo.

2. ¿Confundido con las opciones? Las opciones de tar a veces pueden ser confusas. Recuerda que el orden es importante: por ejemplo, primero debes especificar la acción -c o -x, y luego las otras opciones.

3. El archivo comprimido no se abre Si accidentalmente aplicaste compresión a un archivo ya comprimido (por ejemplo, gzip archive.tar.gz), no te preocupes. Simplemente descomprímelo dos veces.

4. Archivo demasiado grande Al usar el comando zip, excluye archivos temporales o cachés para reducir el tamaño del archivo: zip -r archive.zip folder -x "*.tmp".

5. Problemas de compatibilidad Si necesitas compartir el archivo con un usuario de Windows, prefiere zip, ya que está mejor soportado en este sistema operativo.

Así es como hemos aprendido a archivar y comprimir datos en Linux. Estas herramientas te serán útiles para facilitar el manejo de grandes volúmenes de datos, su transferencia y protección contra pérdidas. ¡Pasa al siguiente tema que el conocimiento solo seguirá creciendo! 🎉

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION