Si tiene un archivo comprimido zip, puede descomprimirlo en la línea de comandos de Linux. El comando descomprimir en Linux es bastante versátil y puede usarlo para mucho más que solo extraer un archivo zip.
He discutido cómo comprimir una carpeta en Linux en el pasado. Es hora de ver varios usos del comando descomprimir. Antes de hacer eso, asegúrese de que se haya instalado el descompresor en su sistema. Puede usar el administrador de paquetes de su distribución para instalar el comando.
En Ubuntu y Debian, puede usar este comando:
sudo apt install unzip
Una vez que haya verificado eso, veamos cómo usar la descompresión en la terminal de Linux.
Descomprimir comando en Linux
El comando descomprimir tiene una sintaxis realmente simple:
unzip [option] zip_file
Si lo usa para extraer un archivo zip sin ninguna opción, extraerá todos los archivos en el directorio actual:
unzip webdesign.zip
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PAJF07-322.eps
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTL-394.eps
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
Y eso no es lo que querrías la mayor parte del tiempo. Simplemente inundará su directorio actual con todos los archivos extraídos.
ls
339252-PAJF05-394.ai 339252-PALBTI-224.ai 339252-PALBTM-53.jpg 'License premium.txt'
339252-PAJF07-322.eps 339252-PALBTL-394.eps 'License free.txt' webdesign.zip
1. Descomprimir en un directorio
El comportamiento esperado es que debe tener los archivos extraídos en un directorio determinado, normalmente con el mismo nombre que el archivo zip.
Puede especificar el directorio de destino donde desea extraer los archivos.
unzip -d target_directory zip_file
Si el directorio de destino no existe, se creará. Sin embargo, no puede crear directorios anidados de esta manera.
Tenga en cuenta que también puede colocar el directorio de destino al final, pero no todas las opciones se pueden agregar al final.
unzip zip_file -d target_directory
2. Ver el contenido del archivo zip sin extraer
Si desea ver qué contiene el archivo zip, no siempre tiene que extraerlo primero. Puedes usar el -l
opción y mostrará el contenido del archivo zip.
unzip -l zip_file
Como puede ver, también muestra la marca de tiempo de los archivos y el tamaño real de los archivos individuales en bytes.
[email protected]:$ unzip -l webdesign.zip
Archive: webdesign.zip
Length Date Time Name
--------- ---------- ----- ----
205358 2018-06-18 23:14 339252-PAJF05-394.ai
996906 2018-06-18 23:14 339252-PAJF07-322.eps
213968 2018-06-20 00:00 339252-PALBTI-224.ai
1005362 2018-06-20 00:00 339252-PALBTL-394.eps
305531 2018-06-20 00:00 339252-PALBTM-53.jpg
1462 2018-06-20 09:45 License free.txt
1116 2018-06-20 09:45 License premium.txt
--------- -------
2729703 7 files
Si lo desea, puede obtener más información, como el tamaño comprimido y la relación de compresión, utilizando el modo detallado con -v
opción. El CRC-32 en la salida es la verificación de redundancia cíclica.
[email protected]:$ unzip -v webdesign.zip
Archive: webdesign.zip
Length Method Size Cmpr Date Time CRC-32 Name
-------- ------ ------- ---- ---------- ----- -------- ----
205358 Defl:N 142097 31% 2018-06-18 23:14 792f2380 339252-PAJF05-394.ai
996906 Defl:N 221228 78% 2018-06-18 23:14 440390d3 339252-PAJF07-322.eps
213968 Defl:N 147568 31% 2018-06-20 00:00 cdb64dfc 339252-PALBTI-224.ai
1005362 Defl:N 226727 77% 2018-06-20 00:00 aed3d97a 339252-PALBTL-394.eps
305531 Defl:N 183363 40% 2018-06-20 00:00 e4ced90f 339252-PALBTM-53.jpg
1462 Defl:N 728 50% 2018-06-20 09:45 0eb9e17b License free.txt
1116 Defl:N 558 50% 2018-06-20 09:45 165dd84e License premium.txt
-------- ------- --- -------
2729703 922269 66% 7 files
3. Sobrescribir todos los archivos sin preguntar
Si ya hay archivos con el mismo nombre en el directorio donde está extrayendo los archivos, será promovido para cada uno de esos archivos. Puede forzar la sobrescritura de todos los archivos con la opción -o
.
unzip -o -d target_directory zip_file
4. No sobrescribir ningún archivo -n
Si no desea que los archivos recién extraídos sobrescriban ningún archivo existente, use la opción -n (que significa nunca sobrescribir).
unzip -n -d target_directory zip_file
5. Actualizar archivos y crear si es necesario
Esto es ligeramente diferente a sobrescribir todos los archivos. En este caso, solo se sobrescribirán aquellos archivos que tengan una marca de tiempo más reciente que los archivos existentes. Si un archivo no existe, se creará.
Puedes lograr eso con la opción -u:
unzip -u -d target_directory zip_file
6. Actualice los archivos existentes pero no cree ninguno
Ligero cambio del ejemplo anterior aquí. En este, actualizará los archivos existentes si tienen una marca de tiempo anterior, pero no creará ningún archivo nuevo, incluso si no existen.
La opción -f te permite hacer eso:
unzip -f -d target_directory zip_file
7. Extraer en modo silencioso
Cuando descomprime un archivo, muestra todos los archivos que se han extraído en la pantalla. Ahora imagina un archivo zip que tiene cientos de archivos. Si lo extrae, su pantalla se llenará de resultados.
Puedes usar el modo silencioso con la opción -q
y no verá nada en la pantalla:
unzip -q -d target_directory zip_file
8. Excluir archivos de la extracción
También puede excluir ciertos archivos o cierto tipo de archivos para que no se extraigan.
unzip zip_file -x file_to_exclude
En mi ejemplo, digamos que no quiero extraer ningún archivo .eps.
[email protected]:$ unzip webdesign.zip -x *.eps
Archive: webdesign.zip
inflating: 339252-PAJF05-394.ai
inflating: 339252-PALBTI-224.ai
inflating: 339252-PALBTM-53.jpg
inflating: License free.txt
inflating: License premium.txt
Esos fueron algunos de los ejemplos más comunes del comando descomprimir en Linux. Siempre puede consultar su página de manual para conocer más opciones.
¿Usas alguna otra opción para descomprimir con frecuencia? ¿Por qué no compartirlo con nosotros en los comentarios?