unzip lista, comprueba y extrae archivos de un paquete ZIP. Por defecto escribe los archivos en el directorio actual; si hay rutas dentro del archivo, también recrea esa estructura. Antes de extraer una descarga, conviene revisar qué contiene, verificar que los datos se leen y elegir una carpeta de destino.
unzip no crea archivos ZIP ni descomprime formatos como .tar.gz. Para generar paquetes, consulta la guía de zip; para archivos tar, usa tar.
👉 Y recuerda, si quieres aprender más de Linux, visita el curso de Linux gratis.
🐳 Si quieres aprender más de Docker, visita el curso de Docker gratis.
Sintaxis básica del comando unzip
Puedes extraer todo el archivo, seleccionar miembros concretos o indicar un directorio de salida:
unzip [OPCIONES] ARCHIVO.zip [MIEMBROS...] [-d DIRECTORIO]Explicación de la sintaxis
ARCHIVO.zip identifica el paquete. MIEMBROS permite elegir nombres concretos que ya estén dentro del ZIP. -d DIRECTORIO selecciona dónde escribir lo extraído; si no lo indicas, se usa el directorio de trabajo actual. Las opciones controlan la lista, la prueba de integridad y el comportamiento si ya existe un archivo con el mismo nombre.
Opciones habituales de unzip
| Opción | Qué hace | Cuándo usarla |
|---|---|---|
| -l | Lista los nombres de los miembros sin extraerlos. | Revisar el contenido antes de elegir qué recuperar. |
| -t | Lee los miembros y comprueba sus datos y CRC. | Detectar un archivo incompleto o dañado antes de extraer. |
| -d DIRECTORIO | Extrae en la carpeta indicada. | Mantener separado el contenido del resto de archivos. |
| -n | No sobrescribe archivos que ya existen. | Conservar los archivos locales y saltar los duplicados. |
| -o | Sobrescribe sin preguntar. | Solo cuando el reemplazo sea intencionado y el archivo esté revisado. |
| -j | Descarta las rutas y extrae todos los miembros en una sola carpeta. | Recuperar unos pocos archivos; comprueba que no haya nombres repetidos. |
| -x PATRÓN | Excluye miembros que coincidan con un patrón. | Omitir archivos concretos al extraer. |
Inspeccionar y probar antes de extraer
Empieza por listar las rutas y probar la integridad del archivo. Luego extrae en una carpeta separada y evita sobrescribir archivos existentes:
unzip -l proyecto.zip
unzip -t proyecto.zip
mkdir -p /tmp/proyecto-extraido
unzip -n proyecto.zip -d /tmp/proyecto-extraido-l muestra las entradas; -t descomprime los datos en memoria y compara la comprobación CRC con la almacenada; -n protege los archivos que ya haya en el destino. Una prueba correcta confirma que los datos se pueden leer, pero no demuestra que cada archivo sea seguro ni que pertenezca a una fuente fiable.
Si el ZIP es grande, confirma también que tienes espacio suficiente. No ejecutes programas o scripts extraídos de una fuente desconocida sin revisar su origen y contenido.
Extraer solo algunos archivos
Primero mira la ruta exacta guardada en el archivo. Después indícala como miembro para extraer solo ese elemento:
unzip -l respaldo.zip
unzip respaldo.zip config/app.yml -d salida/Los nombres de los miembros deben coincidir con las rutas que muestra la lista. Si el nombre incluye espacios o patrones, ponlo entre comillas para que el shell no lo expanda antes de que llegue a unzip.
Excluir rutas y controlar sobrescrituras
Puedes omitir patrones al extraer. Las comillas hacen que el patrón lo procese unzip; en este ejemplo se excluyen archivos de log y el contenido de la carpeta temporal:
unzip respaldo.zip -d salida/ -x '*.log' 'tmp/*'Por defecto, unzip pregunta qué hacer cuando detecta un archivo existente. -n mantiene lo que ya está en el disco; -o reemplaza sin preguntar. Evita automatizar la sobrescritura hasta comprobar tanto el contenido del ZIP como el destino:
unzip -n respaldo.zip -d salida/
unzip -o respaldo.zip -d salida/Elige una sola de esas estrategias según el caso. No ejecutes ambas seguidas: la segunda reemplaza archivos que la primera habría conservado.
Errores frecuentes al usar unzip
- Se extrae en el lugar equivocado: sin -d, el destino es el directorio actual. Consulta tu ubicación o indica una carpeta explícita.
- El archivo no se puede abrir: comprueba la ruta, el nombre y que la descarga haya terminado. Cambiar la extensión no convierte un formato en ZIP.
- El archivo está dañado o incompleto: la prueba -t puede detectar errores de lectura o CRC; vuelve a obtener el archivo desde su fuente.
- Se sobrescriben archivos locales: usa -n si no quieres reemplazarlos y extrae en una carpeta nueva para comparar resultados.
- Quedan archivos antiguos en el destino: extraer un ZIP no limpia la carpeta de archivos que ya existían y no aparecen en el paquete.
- El ZIP está cifrado: cuando se solicite, introduce la contraseña en el prompt; no la escribas en un comando que pueda quedar en el historial o en una lista de procesos.
Comandos relacionados
- zip, para crear y actualizar archivos ZIP.
- tar, para agrupar archivos y extraer paquetes tar.
- gzip y gunzip, para comprimir y descomprimir archivos individuales.
Referencia
Consulta la página de manual de unzip en Debian para revisar las opciones disponibles en la versión instalada en tu sistema.
Vídeo: descomprimir un archivo ZIP
El siguiente Short muestra un ejemplo básico de extracción en Linux. Para revisar un archivo antes de recuperar sus datos, sigue los pasos de listado, prueba y destino separado de esta guía:

