En este tutorial, aprenderemos a comprimir y descomprimir archivos ZIP en Linux. Aunque existen otros formatos de archivos, como TAR, el formato ZIP sigue siendo el más popular cuando se busca comprimir archivos y carpetas.
Ya sea en Windows o en Linux, el formato ZIP es compatible y, como administrador del sistema, debes ser capaz de comprimir y descomprimir un archivo ZIP en Linux. ¡Eso es lo que veremos hoy! Se utilizará una máquina Debian, pero puedes usar otra distribución.
Instalación de los Paquetes ZIP y UNZIP
Para poder comprimir y descomprimir archivos ZIP en Linux, primero debes instalar los paquetes correctos. Es decir, debes instalar los paquetes “zip” y “unzip”, así:
sudo apt-get update
sudo apt-get install zip unzip
Una vez hecho esto, puedes pasar al siguiente paso.
Comprimir Archivos en un Archivo ZIP
A. Primeros pasos con el comando ZIP en Linux
Empecemos por estudiar el funcionamiento del comando “zip”, cuya sintaxis es la siguiente:
zip <opción> <nombre_archivo_ZIP_a_crear> <archivos_fuente_a_añadir>
Para realizar una prueba, vamos a generar 10 archivos: documento1.txt, documento2.txt, etc… hasta documento10.txt. Estos archivos se añadirán a continuación a un archivo ZIP.
Podemos utilizar el comando touch para crear los archivos:
touch documento{1..10}.txt
Ya está, se acaban de crear 10 archivos en el directorio actual.
Ahora, vamos a crear un archivo ZIP llamado “documentos” que contendrá estos 10 archivos:
zip documentos documento1.txt documento2.txt documento3.txt documento4.txt <etc...> documento10.txt
# Que también podemos acortar de esta manera:
zip documentos documento*.txt
Este comando nos permite obtener el archivo “documentos.zip
“:
Por cierto, podríamos mostrar el contenido del archivo "documentos.zip
“, esto nos permitiría ver realmente lo que contiene. Esto puede resultar útil para mirar el contenido de un archivo ZIP antes de descomprimirlo. En este caso, utilizaremos la opción “-sf
” para Mostrar Archivos (Show Files):
zip -sf documentos.zip
Otra forma de hacerlo es utilizar el comando “zipinfo
” que se proporciona con el paquete zip:
zipinfo documentos.zip
B. Comprimir un directorio completo en un archivo ZIP
Vamos a seguir aprendiendo a utilizar el comando zip con otros ejemplos. En lugar de añadir archivos a un archivo ZIP, a veces es más rápido y sencillo añadir una carpeta completa.
Si queremos comprimir todo el directorio “Escritorio/Ejemplo
” para obtener el archivo “carpeta.zip”, utilizaremos el siguiente comando:
zip -r carpeta /Escritorio/Ejemplo/
Hay que tener en cuenta que la opción “-r” indica la recursividad, esto significa que el archivo ZIP contendrá todos los archivos y carpetas presentes en “/Escritorio/Ejemplo/”.
C. Añadir sólo los archivos de un determinado tipo
El uso del carácter “*” (comodín) (wildcard) puede resultar muy útil para añadir a un archivo ZIP sólo los archivos que coincidan con un determinado tipo. El carácter “*” será sustituido por todos los caracteres (para 1 o más caracteres).
Por ejemplo, si queremos añadir al archivo ZIP todos los archivos “.txt”, utilizaremos esta sintaxis:
zip -r archivostexto *.txt
Para el ejemplo anterior basado en la adición de 10 archivos a un archivo ZIP, esto también puede resultar útil:
zip documentos documento*.txt
D. Excluir archivos al crear el ZIP
Por el contrario, podríamos intentar excluir ciertos archivos al crear el archivo ZIP. Por ejemplo, si tenemos un archivo “documento.docx” junto a nuestros archivos “documento.txt“, podemos excluirlo gracias a la opción “-x
“. El objetivo será excluir todos los archivos “.docx“.
Aquí está la sintaxis a utilizar (con el símbolo *, apuntamos al contenido del directorio “/Escritorio/Ejemplo/”.
zip documentostexto /Escritorio/Ejemplo/* -x \*.docx
El resultado de abajo muestra que el archivo no se ha añadido al archivo ZIP:
E. ¿Cómo proteger con contraseña el archivo ZIP?
Por defecto, los archivos ZIP no están protegidos por contraseña, por lo que cualquiera puede acceder al contenido del archivo comprimido. Ten en cuenta que la opción “-e” nos permitirá encriptar el archivo ZIP y añadir una protección por contraseña.
zip -e documentos documento1.txt documento2.txt documento3.txt
Lo que da el siguiente resultado:
Todavía podemos listar el contenido del archivo ZIP, pero será imposible descomprimir el archivo ZIP sin conocer la contraseña.
F. Ajustar el nivel de compresión
Al crear un archivo ZIP, podemos ajustar el nivel de compresión. Utilizar un nivel de compresión más alto reducirá el tamaño del archivo ZIP resultante. Esto también requerirá más recursos y tiempo para generar el archivo ZIP.
ZIP admite 9 niveles de compresión, del 1 al 9. El nivel de compresión “9” es el más alto. El valor “0” también se acepta, pero para almacenar sólo contenido, sin ninguna compresión. Por lo tanto, si queremos utilizar un nivel de compresión específico, basta con especificarlo de esta manera:
zip -<0-9> documentos documento1.txt documento2.txt
Por ejemplo, para utilizar el nivel de compresión máximo:
zip -9 documentos documento1.txt documento2.txt
G. Añadir un archivo a un archivo ZIP existente
Por último, vamos a utilizar la opción “-u
” para añadir un archivo a un archivo ZIP existente, sin necesidad de “romper” el archivo ZIP para volver a hacerlo. Por ejemplo, así es como se añade el archivo “documento.docx
” al archivo ZIP “documentostexto.zip
“:
zip -u documentostexto.zip documento.docx
Descomprimir un Archivo ZIP
A. Primeros pasos con el comando UNZIP en Linux
¿Te has descargado un archivo ZIP de un proyecto disponible en GitHub y no sabes cómo descomprimir el contenido de ese archivo ZIP? ¡Es un caso frecuente! Vamos a ver cómo usar el comando “unzip
” para descomprimir un archivo ZIP.
Para descomprimir un archivo, simplemente usa el siguiente comando:
unzip <nombre archivo ZIP>
unzip documentostexto.zip
Este comando descomprime “documentostexto.zip
” en el directorio actual (con respecto a tu shell).
Ten en cuenta que antes de descomprimir un archivo ZIP, puedes listar su contenido, de la misma manera que puedes hacerlo con los comandos “zip” y “zipinfo”.
unzip -l documentostexto.zip
Podemos ver el contenido del archivo ZIP, con el peso de cada archivo, la fecha y la hora, así como el nombre del archivo. También tenemos una información interesante: el número de archivos presentes en el archivo ZIP.
B. Descomprimir un archivo ZIP en un directorio específico
Si quieres descomprimir un archivo ZIP en un directorio específico de tu máquina, en lugar de en el directorio actual, usa esta sintaxis:
unzip documentostexto.zip -d /ruta/al/directorio
Por ejemplo, podemos descomprimir el archivo en “/tmp”:
unzip documentostexto.zip -d /tmp
C. Descomprimir un archivo ZIP protegido por contraseña
Para descomprimir un archivo ZIP que está encriptado y protegido por contraseña, tienes varias opciones:
- Utiliza unzip sin ninguna opción específica, y tendrás que introducir la contraseña del archivo ZIP de forma interactiva.
- Utiliza unzip con la opción “
-P
” para especificar la contraseña directamente en la consola
En caso de que el archivo ZIP “documentos.zip” esté protegido por la contraseña “Azerti123”, habrá que utilizar este comando:
unzip -P Azerti123 documentos.zip
D. Extraer un archivo específico de un archivo ZIP
Si quieres extraer un archivo de un archivo ZIP sin descomprimir todo el archivo ZIP, ¡que sepas que es posible! En este caso, no hay ninguna opción específica que utilizar. Sólo tienes que especificar el nombre del archivo a extraer (¡esto no lo elimina del archivo ZIP!).
Por ejemplo, para extraer el archivo “documento.docx
” del archivo ZIP “documentostexto.zip
“, aquí tienes el comando a ejecutar:
unzip documentostexto.zip documento.docx
El comando devolverá la frase “extrayendo: documento.docx“.
E. Descomprimir en masa archivos ZIP
Si quieres descomprimir un conjunto de archivos ZIP de una sola vez, que sepas que es posible gracias al uso del carácter “*” (comodín). Sólo tienes que utilizar el siguiente comando:
unzip "*.zip"
Esto te ahorrará tiempo si tienes muchos archivos ZIP que descomprimir. De lo contrario, puedes especificar sus nombres de esta manera:
unzip archivo1.zip archivo2.zip archivo3.zip
También puedes combinar este comando con la opción “-d
” para especificar un directorio de destino.
Conclusión
¡Ya está, acabamos de ver cómo comprimir y descomprimir archivos ZIP en Linux! Espero que estos ejemplos te ayuden
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.