-->

Comando unzip

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 unzip con un archivo que no está realmente en formato ZIP, aunque tenga la extensión .zip.
  • Olvidar especificar -d cuando 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 -o sin 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 -l no modifica los archivos del sistema.

Conceptos relacionados

  • Compresión de datos
  • Descompresión
  • Archivos comprimidos
  • Formato .zip
  • DEFLATE
  • Empaquetado
  • Rutas y directorios

Comandos relacionados

  • zip
  • tar
  • gzip
  • gunzip
  • bzip2
  • xz
  • 7z

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

  1. Crea varios archivos de texto y una estructura de carpetas. Utiliza zip -r para crear un archivo llamado practica.zip. Después, utiliza unzip para extraerlo en una carpeta diferente.
  2. Utiliza unzip -l practica.zip para consultar el contenido del archivo sin extraerlo. Identifica los directorios y archivos almacenados.
  3. Extrae únicamente uno de los archivos contenidos en el ZIP. Comprueba que el resto de archivos no aparecen en el directorio de destino.
  4. Crea una carpeta llamada resultado y utiliza unzip -d resultado para extraer allí el contenido del archivo ZIP.
  5. Extrae el mismo ZIP dos veces y observa qué ocurre cuando ya existen los archivos. Después prueba las opciones -n y -o y compara su comportamiento.
  6. Utiliza unzip -t practica.zip para comprobar la integridad del archivo. ¿Qué información proporciona el comando?
  7. Compara zip y unzip. Explica qué operación realiza cada uno y por qué normalmente se utilizan conjuntamente.
  8. Crea un archivo ZIP que contenga una estructura de varios directorios y utiliza unzip -j para extraer los archivos ignorando las rutas originales. ¿Qué diferencia observas respecto a una extracción normal?
  9. Utiliza unzip -l antes 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:

  1. ¿Qué diferencia existe entre unzip archivo.zip y unzip -l archivo.zip?
  2. ¿Para qué sirve la opción -d y por qué puede resultar útil al organizar los archivos extraídos?
  3. ¿Qué diferencia existe entre las opciones -n y -o cuando ya existe un archivo con el mismo nombre?
  4. ¿Qué información proporciona el comando unzip -t y por qué puede ser útil?
  5. ¿Por qué no todos los archivos almacenados dentro de un ZIP tienen necesariamente que estar comprimidos?
  6. ¿Qué diferencia fundamental existe entre zip y unzip?
  7. ¿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.