Comprimir y descomprimir archivos en Linux: Terminal, tar...

Comprimir y descomprimir archivos en Linux: Terminal, tar...

En este artículo veremos algunos de los comandos para comprimir y descomprimir archivos o carpetas (zip, rar, etc.) desde el Shell en Linux. También mostraremos un script específico para ello y cómo hacerlo también online.

¿Con qué comandos se pueden descomprimir archivos o carpetas en Linux?

  • gunzip archivo.gz: descomprime un archivo o carpeta en formato .gz y .tgz.
  • unzip archivo.zip: descomprime un archivo o carpeta en formato .zip.
  • uncompress archivo.Z: descomprime un archivo o carpeta en formato .Z.
  • tar -xf arch.tar -C /home: descomprime un archivo o carpeta en /home (para las versiones recientes de tar.)
  • cd /home; tar -xf archivo.tar: descomprime un archivo o carpeta en /home (caso general).
  • tar -xpf archivo.tar: descomprime un archivo o carpeta conservando en lo posible los privilegios.
  • tar -xzf archivo.tgz: descomprime un archivo o carpeta en formato .tgz (las versiones recientes de tar).
  • gunzip archivo.tgz | tar -xf-: descomprime un archivo o carpeta en formato .tgz o gz (todas las versiones).
  • tar -xjf archivo.tar.bz2: descomprime un archivo o carpeta en formato .tar.bz2 en GNU.
  • bunzip archivo.bz2 | tar -xf -: descomprime un archivo o carpeta en formato .tar.bz2 (caso general).

¿Qué comandos permiten comprimir archivos o carpetas en Linux?

  • zip arch.zip archivos: comprime un archivo o carpeta en formato .zip.
  • gzip archivo: comprime un archivo o carpeta en formato .gz.
  • compress archivo: comprime un archivo o carpeta en formato .Z.
  • tar -cf arch.tar rep: crear un archivo .tar de la carpeta "rep".
  • tar -tf arch.tar: examina el contenido del archivo arch.tar.
  • tar -xf arch.tar: extrae el archivo arch.tar.
Comprimir y descomprimir archivos en Linux
© Everypixel

¿Cómo crear un script para comprimir archivos en Linux?

  • Vamos a nombrar este script comprimir.sh. Crea un nuevo archivo llamado comprimir.sh y pega el siguiente contenido:
#!/bin/bash

# Comprobar que se proporcionó un argumento

if [ "$#" -ne 2 ]; then

    echo "Uso: $0 <nombre del archivo o carpeta> <nombre del archivo comprimido.tar.gz>"

    exit 1

fi

# Comprimir el archivo o carpeta

tar czvf "$2.tar.gz" "$1"

if [ $? -eq 0 ]; then

    echo "El archivo/carpeta '$1' ha sido comprimido exitosamente a '$2.tar.gz'"

else

    echo "Hubo un error al comprimir el archivo/carpeta '$1'"

fi
  • Dale permisos de ejecución:
chmod +x comprimir.sh
  • Uso:
./comprimir.sh miCarpeta archivoComprimido

¿Cómo hacer un script para descomprimir archivos en Linux?

  • Vamos a nombrar este script descomprimir.sh. Crea un nuevo archivo llamado descomprimir.sh y pega el siguiente contenido:
#!/bin/bash

# Comprobar que se proporcionó un argumento

if [ "$#" -ne 1 ]; then

echo "Uso: $0 <nombre del archivo comprimido.tar.gz>"

exit 1

fi

# Descomprimir el archivo tar.gz

tar xzvf "$1"

if [ $? -eq 0 ]; then

echo "El archivo '$1' ha sido descomprimido exitosamente."

else

echo "Hubo un error al descomprimir el archivo '$1'"

fi
  • Dale permisos de ejecución:

chmod +x descomprimir.sh

  • Uso:

./descomprimir.sh archivoComprimido.tar.gz

Nota: estos scripts son básicos y no manejan todos los posibles casos de error, pero te dan un buen punto de partida para trabajar con archivos comprimidos en Linux. ¡Esperamos que te sean útiles!

¿Cómo comprimir y descomprimir archivos en Linux online?

  • Servicios web de compresión: hay servicios web como ezgif.com que, aunque están diseñados para manipular imágenes, permiten subir y comprimir archivos. Sin embargo, no son ideales para archivos grandes o privados.
  • Cloud Shell en servicios de nube: muchos servicios en la nube como Google Cloud Platform y AWS ofrecen una "Cloud Shell" o "Terminal Online" donde puedes ejecutar comandos de Linux. En esas terminales, puedes utilizar herramientas como tar, gzip, zip, etc., para comprimir y descomprimir archivos.
  • RDP o SSH a máquinas virtuales: puedes acceder a máquinas virtuales que estén corriendo en la nube mediante SSH (para Linux) y realizar las operaciones allí.
  • Herramientas de gestión de archivos basadas en web: hay algunas herramientas o paneles de control que te permiten gestionar archivos y que incluyen opciones para comprimir y descomprimir. Un ejemplo es cPanel, utilizado en muchos servicios de hosting. Si tienes acceso a un cPanel, en la sección de "Gestor de Archivos", puedes seleccionar archivos y carpetas, y luego elegir la opción para comprimir o descomprimir.
  • Desarrollar tu propia herramienta web: si tienes habilidades de desarrollo y quieres una solución más personalizada, puedes desarrollar una pequeña aplicación web que permita subir archivos, y que en el servidor backend (probablemente corriendo Linux) realice las operaciones de compresión o descompresión usando comandos de shell.

¿Tienes más preguntas acerca de Linux? Consulta nuestro foro de discusión

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Linux