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.
¿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
Tema
Respuestas