ZIP es el formato de archivo de almacenamiento más utilizado que admite la compresión de datos sin pérdidas. Un archivo ZIP es un contenedor de datos que contiene uno o más archivos o directorios comprimidos.
En este tutorial, explicaremos cómo descomprimir archivos en sistemas Linux a través de la línea de comandos usando el unzip
comando.
Instalando unzip
#
unzip
no está instalado de forma predeterminada en la mayoría de las distribuciones de Linux, pero puede instalarlo fácilmente utilizando el administrador de paquetes de su distribución.
Instalar unzip
en Ubuntu y Debian #
sudo apt install unzip
Instalar unzip
en CentOS y Fedora #
sudo yum install unzip
Cómo descomprimir un archivo ZIP #
En su forma más simple, cuando se usa sin ninguna opción, unzip
El comando extrae todos los archivos del archivo ZIP especificado al directorio actual.
Como ejemplo, supongamos que descargó el archivo ZIP de instalación de Wordpress. Para descomprimir este archivo en el directorio actual, simplemente ejecute el siguiente comando:
unzip latest.zip
Los archivos ZIP no admiten información de propiedad de estilo Linux. Los archivos extraídos son propiedad del usuario que ejecuta el comando.
Debe tener permisos de escritura en el directorio donde está extrayendo el archivo ZIP.
Suprimir la salida del unzip
Comando #
Por defecto, unzip
imprime los nombres de todos los archivos que está extrayendo y un resumen cuando se completa la extracción.
Utilice el -q
interruptor para suprimir la impresión de estos mensajes.
unzip -q filename.zip
Descomprimir un archivo ZIP en un directorio diferente #
Para descomprimir un archivo ZIP en un directorio diferente al actual, use -d
cambiar:
unzip filename.zip -d /path/to/directory
Por ejemplo, para descomprimir el archivo de WordPress latest.zip
al /var/www/
directorio, usaría el siguiente comando:
sudo unzip latest.zip -d /var/www
En el comando anterior, estamos usando sudo
porque generalmente el usuario con el que iniciamos sesión no tiene permisos de escritura en /var/www
directorio. Cuando los archivos ZIP se descomprimen usando sudo
, los archivos y directorios extraídos son propiedad del usuario root.
Descomprima un archivo ZIP protegido con contraseña #
Para descomprimir un archivo que está protegido con contraseña, invoque el unzip
comando con -P
opción seguida de la contraseña:
unzip -P PasswOrd filename.zip
Escribir una contraseña en la línea de comandos no es seguro y debe evitarse. Una opción más segura es extraer el archivo normalmente sin proporcionar la contraseña. Si el archivo ZIP está encriptado, unzip
le pedirá que ingrese la contraseña:
unzip filename.zip
archive: filename.zip
[filename.zip] file.txt password:
unzip
utilizará la misma contraseña para todos los archivos cifrados siempre que sea correcta.
Excluir archivos al descomprimir un archivo ZIP #
Para excluir archivos o directorios específicos de la extracción, utilice -x
opción seguida de una lista de archivos separados por espacios que desea excluir de la extracción:
unzip filename.zip -x file1-to-exclude file2-to-exclude
En el siguiente ejemplo, estamos extrayendo todos los archivos y directorios del archivo ZIP excepto el .git
directorio:
unzip filename.zip -x "*.git/*"
Sobrescribir archivos existentes #
Supongamos que ya ha descomprimido un archivo ZIP y está ejecutando el mismo comando nuevamente:
unzip latest.zip
Por defecto, unzip
le preguntará si desea sobrescribir solo el archivo actual, sobrescribir todos los archivos, omitir la extracción del archivo actual, omitir la extracción de todos los archivos o cambiar el nombre del archivo actual.
Archive: latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Si desea sobrescribir archivos existentes sin preguntar, use -o
opción:
unzip -o filename.zip
Utilice esta opción con precaución. Si realizó algún cambio en los archivos, los cambios se perderán.
Descomprimir un archivo ZIP sin sobrescribir los archivos existentes #
Supongamos que ya descomprimió un archivo ZIP y realizó cambios en algunos archivos, pero accidentalmente eliminó algunos archivos. Desea conservar los cambios y restaurar los archivos eliminados del archivo ZIP.
En este caso, use -n
opción que obliga a unzip
para omitir la extracción de un archivo que ya existe:
unzip -n filename.zip
Descomprima varios archivos ZIP #
Puede usar expresiones regulares para hacer coincidir varios archivos.
Por ejemplo, si tiene varios archivos ZIP en su directorio de trabajo actual, puede descomprimir todos los archivos con un solo comando:
unzip '*.zip'
Tenga en cuenta las comillas simples alrededor del *.zip
. Si olvidó citar el argumento, el shell expandirá el carácter comodín y obtendrá un error.
Enumerar el contenido de un archivo zip #
Para enumerar el contenido de un archivo ZIP, use -l
opción:
unzip -l filename.zip
En el siguiente ejemplo, enumeramos todos los archivos de instalación de WordPress:
unzip -l latest.zip
La salida se verá así:
Archive: latest.zip
Length Date Time Name
--------- ---------- ----- ----
0 2018-08-02 22:39 wordpress/
3065 2016-08-31 18:31 wordpress/xmlrpc.php
364 2015-12-19 12:20 wordpress/wp-blog-header.php
7415 2018-03-18 17:13 wordpress/readme.html
...
...
21323 2018-03-09 01:15 wordpress/wp-admin/themes.php
8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php
4620 2017-10-24 00:12 wordpress/wp-trackback.php
1889 2018-05-03 00:11 wordpress/wp-comments-post.php
--------- -------
27271400 1648 files
Conclusión #
unzip
es una utilidad que le ayuda a listar, probar y extraer archivos ZIP comprimidos.
Para crear un archivo ZIP en un sistema Linux, deberá usar el comando zip.
Siéntase libre de dejar un comentario si tiene alguna pregunta.