unzip
El comando unzip es una herramienta de línea de comandos utilizada en Linux para extraer y gestionar el contenido de archivos comprimidos en formato .zip. Permite descomprimir archivos, extraer únicamente determinados elementos, consultar el contenido de un ZIP y comprobar la integridad de los archivos comprimidos.
| Categoría | Archivos y compresión |
|---|---|
| Disponible en | Linux (Debian / Ubuntu / derivadas), macOS y otros sistemas Unix |
| Equivalente en Windows | Explorador de archivos, Expand-Archive en PowerShell o herramientas como 7-Zip |
| Sustituye a | No sustituye directamente a otro comando. Es la herramienta tradicional para extraer archivos en formato ZIP en sistemas Unix/Linux. |
| ¿Requiere permisos de administrador? | No, salvo que se intente extraer contenido en directorios que requieran permisos especiales. |
¿Qué significa su nombre?
UNZIP combina el prefijo UN-, utilizado en inglés para indicar una acción inversa, con ZIP, el formato de archivo comprimido.
Por tanto, unzip hace referencia a la operación inversa de crear un archivo ZIP: extraer o descomprimir su contenido.
¿Para qué sirve?
El comando unzip sirve principalmente para extraer los archivos contenidos en un archivo .zip. Puede recuperar toda la estructura de directorios almacenada en el archivo comprimido o extraer únicamente determinados archivos.
Además de extraer contenido, unzip permite consultar qué archivos contiene un ZIP sin necesidad de descomprimirlo, comprobar la integridad del archivo comprimido y controlar qué ocurre cuando alguno de los archivos que se van a extraer ya existe en el directorio de destino.
Es una herramienta especialmente útil porque el formato ZIP es multiplataforma. Un archivo creado en Windows puede extraerse desde Linux con unzip y, del mismo modo, un ZIP creado en Linux puede abrirse normalmente desde Windows.
Sintaxis
unzip [opción] archivo.zip [archivo...] [-d directorio]
Las opciones más habituales son:
| Opción | Descripción |
|---|---|
-l |
Muestra el contenido del archivo ZIP sin extraerlo. |
-d [directorio] |
Extrae el contenido en el directorio indicado. |
-q |
Reduce la cantidad de información mostrada durante la extracción. |
-v |
Muestra información detallada sobre el archivo ZIP. |
-t |
Comprueba la integridad del archivo ZIP sin extraer su contenido. |
-n |
No sobrescribe archivos existentes. |
-o |
Sobrescribe automáticamente los archivos existentes sin solicitar confirmación. |
-j |
Extrae los archivos ignorando las rutas y directorios almacenados en el ZIP. |
-P [contraseña] |
Utiliza la contraseña indicada para extraer archivos protegidos. |
Comandos más utilizados
| Comando | Descripción |
|---|---|
unzip archivo.zip |
Extrae todo el contenido del archivo ZIP en el directorio actual. |
unzip -l archivo.zip |
Muestra los archivos contenidos en el ZIP sin extraerlos. |
unzip archivo.zip -d carpeta |
Extrae el contenido dentro de una carpeta concreta. |
unzip -t archivo.zip |
Comprueba la integridad de los archivos almacenados en el ZIP. |
unzip -n archivo.zip |
Extrae el contenido sin sobrescribir archivos que ya existan. |
unzip -o archivo.zip |
Extrae el contenido sobrescribiendo automáticamente los archivos existentes. |
Equivalencia con otros sistemas
| Acción | Linux | Windows |
|---|---|---|
| Extraer un ZIP | unzip archivo.zip |
Expand-Archive archivo.zip |
| Extraer en una carpeta concreta | unzip archivo.zip -d carpeta |
Expand-Archive archivo.zip -DestinationPath carpeta |
| Consultar contenido | unzip -l archivo.zip |
Explorador de archivos |
| Comprobar integridad | unzip -t archivo.zip |
Herramientas de compresión / 7-Zip |
| Extraer mediante interfaz gráfica | Gestor de archivos / Ark / File Roller | Explorador de archivos |
Ejemplos
Extraer un archivo ZIP en el directorio actual
unzip documentos.zip
Consultar el contenido de un ZIP sin extraerlo
unzip -l documentos.zip
Extraer el contenido en una carpeta concreta
unzip documentos.zip -d documentos/
Extraer únicamente un archivo concreto
unzip documentos.zip informe.txt
Extraer varios archivos concretos
unzip documentos.zip informe.txt notas.txt
Comprobar la integridad de un archivo ZIP
unzip -t documentos.zip
Evitar sobrescribir archivos existentes
unzip -n documentos.zip
Sobrescribir automáticamente archivos existentes
unzip -o documentos.zip
Extraer los archivos ignorando las rutas almacenadas
unzip -j documentos.zip
Ejemplo de salida
$ unzip documentos.zip
Archive: documentos.zip
extracting: informe.txt
extracting: notas.txt
creating: proyecto/
extracting: proyecto/index.html
extracting: proyecto/estilos.css
¿Cómo interpretar la salida?
- Archive:: indica el archivo ZIP que se está procesando.
- extracting:: indica que se está extrayendo un archivo desde el ZIP.
- creating:: indica que se está creando un directorio necesario para mantener la estructura almacenada en el archivo ZIP.
- inflating:: indica que el archivo está siendo descomprimido utilizando un algoritmo de compresión.
Si durante la extracción existe un archivo con el mismo nombre, unzip puede solicitar al usuario qué hacer. Dependiendo de la opción utilizada, es posible sobrescribirlo, conservar el archivo existente o aplicar otra acción.
Errores habituales
- Intentar utilizar
unzipcon un archivo que no está realmente en formato ZIP, aunque tenga la extensión.zip. - Olvidar especificar
-dcuando se desea extraer el contenido en una carpeta concreta, provocando que los archivos aparezcan en el directorio actual. - Sobrescribir accidentalmente archivos existentes durante una extracción. Para evitarlo se puede utilizar
unzip -n. - Utilizar
unzip -osin comprobar previamente el contenido del archivo, lo que puede sobrescribir archivos existentes de forma automática. - Intentar extraer un archivo protegido mediante contraseña sin conocer la contraseña necesaria.
- Confundir
unzip -l, que solamente muestra el contenido, con una operación de extracción. La opción-lno modifica los archivos del sistema.
Conceptos relacionados
- Compresión de datos
- Descompresión
- Archivos comprimidos
- Formato
.zip - DEFLATE
- Empaquetado
- Rutas y directorios
Comandos relacionados
ziptargzipgunzipbzip2xz7z
Curiosidades
El comando unzip es prácticamente el compañero natural de zip: mientras que zip permite crear archivos en formato ZIP, unzip permite extraer su contenido.
Una de las ventajas del formato ZIP es que permite consultar el contenido del archivo sin necesidad de extraerlo. Para ello se utiliza unzip -l. Esta posibilidad resulta especialmente útil antes de extraer un archivo descargado de Internet, ya que permite conocer su estructura y los archivos que contiene.
Otra característica interesante es que no siempre es necesario extraer todo el archivo. Por ejemplo, mediante unzip documentos.zip informe.txt podemos recuperar únicamente el archivo informe.txt.
El formato ZIP también puede almacenar archivos sin comprimir. En estos casos, unzip simplemente extrae los datos del archivo contenedor sin tener que realizar una operación de descompresión.
Prácticas propuestas
- Crea varios archivos de texto y una estructura de carpetas. Utiliza
zip -rpara crear un archivo llamadopractica.zip. Después, utilizaunzippara extraerlo en una carpeta diferente. - Utiliza
unzip -l practica.zippara consultar el contenido del archivo sin extraerlo. Identifica los directorios y archivos almacenados. - Extrae únicamente uno de los archivos contenidos en el ZIP. Comprueba que el resto de archivos no aparecen en el directorio de destino.
- Crea una carpeta llamada
resultadoy utilizaunzip -d resultadopara extraer allí el contenido del archivo ZIP. - Extrae el mismo ZIP dos veces y observa qué ocurre cuando ya existen los archivos. Después prueba las opciones
-ny-oy compara su comportamiento. - Utiliza
unzip -t practica.zippara comprobar la integridad del archivo. ¿Qué información proporciona el comando? - Compara
zipyunzip. Explica qué operación realiza cada uno y por qué normalmente se utilizan conjuntamente. - Crea un archivo ZIP que contenga una estructura de varios directorios y utiliza
unzip -jpara extraer los archivos ignorando las rutas originales. ¿Qué diferencia observas respecto a una extracción normal? - Utiliza
unzip -lantes de extraer un archivo ZIP descargado de Internet. Analiza su contenido y explica por qué consultar previamente la estructura puede resultar útil.
Consejo: Antes de extraer un archivo ZIP que no conoces, utiliza unzip -l archivo.zip para comprobar qué contiene. Cuando quieras extraerlo en una ubicación concreta, utiliza unzip archivo.zip -d directorio para mantener organizado el contenido.
Preguntas de reflexión:
- ¿Qué diferencia existe entre
unzip archivo.zipyunzip -l archivo.zip? - ¿Para qué sirve la opción
-dy por qué puede resultar útil al organizar los archivos extraídos? - ¿Qué diferencia existe entre las opciones
-ny-ocuando ya existe un archivo con el mismo nombre? - ¿Qué información proporciona el comando
unzip -ty por qué puede ser útil? - ¿Por qué no todos los archivos almacenados dentro de un ZIP tienen necesariamente que estar comprimidos?
- ¿Qué diferencia fundamental existe entre
zipyunzip? - ¿Qué ventaja tiene poder extraer únicamente determinados archivos de un ZIP en lugar de extraer todo su contenido?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Qué diferencia existe entre unzip archivo.zip y unzip -l archivo.zip?
unzip archivo.zip extrae el contenido del archivo ZIP en el directorio actual, mientras que unzip -l archivo.zip únicamente muestra una lista de los archivos almacenados en el ZIP. La opción -l permite consultar el contenido sin modificar los archivos del sistema.
2. ¿Para qué sirve la opción -d y por qué puede resultar útil al organizar los archivos extraídos?
La opción -d permite indicar el directorio de destino donde se extraerán los archivos. Por ejemplo, unzip documentos.zip -d documentos/ evita llenar el directorio actual de archivos y permite mantener cada contenido comprimido dentro de su propia carpeta.
3. ¿Qué diferencia existe entre las opciones -n y -o cuando ya existe un archivo con el mismo nombre?
La opción -n evita sobrescribir archivos que ya existen, mientras que -o indica que los archivos existentes deben sobrescribirse automáticamente. Por tanto, -n es útil para proteger los archivos actuales y -o para automatizar una extracción cuando se desea reemplazar las versiones anteriores.
4. ¿Qué información proporciona el comando unzip -t y por qué puede ser útil?
unzip -t comprueba la integridad de los archivos almacenados en el ZIP sin extraerlos. Puede detectar problemas en los datos comprimidos y resulta especialmente útil para comprobar que un archivo descargado o transferido no está dañado antes de intentar utilizar su contenido.
5. ¿Por qué no todos los archivos almacenados dentro de un ZIP tienen necesariamente que estar comprimidos?
ZIP permite almacenar archivos utilizando diferentes métodos. Algunos archivos pueden almacenarse sin compresión cuando no resulta beneficioso comprimirlos, por ejemplo, porque ya utilizan un formato comprimido. En estos casos, el archivo ocupa prácticamente el mismo espacio dentro del ZIP que fuera de él.
6. ¿Qué diferencia fundamental existe entre zip y unzip?
zip se utiliza principalmente para crear archivos en formato ZIP, agrupando y comprimiendo archivos y directorios. unzip realiza la operación inversa: lee un archivo ZIP y extrae su contenido. Por tanto, ambos comandos forman parte del conjunto de herramientas habituales para trabajar con este formato.
7. ¿Qué ventaja tiene poder extraer únicamente determinados archivos de un ZIP en lugar de extraer todo su contenido?
Permite recuperar únicamente la información necesaria sin tener que extraer todos los archivos almacenados. Esto resulta especialmente útil cuando un ZIP contiene muchos archivos, ocupa bastante espacio o únicamente necesitamos recuperar un elemento concreto.