Comandos zip unzip para Linux
Los comandos zip y unzip de Linux se utilizan para comprimir y descomprimir archivos y directorios. El formato zip es ampliamente utilizado y compatible con la mayoría de plataformas.
De la misma forma que con el comando gzip y bzip2 no podíamos empaquetar varios archivos sin hacer uso del comando tar, con el comando zip podemos hacerlo perfectamente.
zip [opciones] archivo_destino un_archivo otro_archivo
El comando zip por defecto comprime los archivos que le indiquemos en un .zip pero no los elimina.
Vamos a ver un ejemplo comprimiendo un par de archivos .txt con el comando zip de Linux. El resultado de la compresión lo guardaremos con el nombre de adios.
zip adios hola.txt info_descomprimida.txt
Podemos observar la información que nos devuelve la terminal si después de la compresión ejecutamos el comando file de Linux.

Para descomprimir este archivo y recuperar el formato original utilizamos el comando unzip. Como al comprimirse no eliminó los archivos, una vez que descomprimimos nos da la opción de reemplazar los archivos existentes por los que estamos descomprimiendo. Nos permite incluso renombrarlos.
unzip adios.zip
En este ejemplo de descompresión podemos ver que para el primer archivo le indico que reemplace el archivo por el existente y para el segundo le digo que quiero renombrarlo.

Opciones con zip unzip
Cada comando de Linux tiene diferentes opciones para optimizar y potenciar el propio comando. Es recomendable ver las que existen desde la terminal con el comando de ayuda man zip o man unzip.
Comando zip de Linux
Ahora veremos algunas opciones interesantes para zip:
- -r: comprime de forma recursiva directorios y su contenido.
-
q: modo silencioso, no muestra ningún mensaje de información durante la descompresión.- -e: podemos crear una capa extra de seguridad en nuestro archivo comprimido con una clave.
Comando unzip de Linux
Ahora veremos algunas opciones interesantes para unzip:
- -d: especifica el directorio en el que se extraerán los archivos.
- -q: modo silencioso, no muestra ningún mensaje de información durante la descompresión.
Para el ejemplo del comando zip de Linux haciendo uso de algunas opciones, crearemos un archivo zip con todos los archivos de un directorio, al que agregaremos una capa extra de seguridad.
zip -re directorio *
Antes de comprimir los archivos solicitará una clave.

Hay que tener en cuenta que la clave que hemos agregado no impide que nuestro archivo zip sea borrado.
Ahora toca descomprimir el archivo que acabamos de crear haciendo uso del comando unzip de Linux. Introduciremos la clave y en caso de existir archivos con el mismo nombre nos proporcionará algunas opciones para decidir qué hacemos.
unzip directorio.zip

Desde esta entrada puedes ver algunos comandos de Linux increíbles para trabajar con archivos zip.