Acabo de descargar un .archivo zip de Internet. Quiero usar la terminal para descomprimir el archivo. ¿Cuál es la forma correcta de hacerlo?
Si el unzip
el comando aún no está instalado en su sistema, luego ejecute:
sudo apt-get install unzip
Después de instalar la utilidad de descompresión, si desea extraer a una carpeta de destino en particular, puede usar:
unzip file.zip -d destination_folder
Si los directorios de origen y destino son los mismos, simplemente puede hacer:
unzip file.zip
Simplemente puede usar unzip
.
Instálalo:
apt-get install unzip
Y úsalo:
cd /path/to/fileunzip file.zip
Una herramienta más útil es 7z
, que comprime y descomprime una variedad de formatos de compresión, en particular lzma
, generalmente el protocolo que ofrece las tasas de compresión más altas.
Este comando instala 7z
:
sudo apt-get install p7zip-full
Este comando enumera el contenido del archivo zip:
7z l zipfile.zip
Este comando extrae el contenido del zip:
7z x zipfile.zip
Puedes usar:
unzip file.zip -d somedir
para extraer a yourpath/somedir
Si desea extraer a una ruta absoluta, utilice
sudo unzip file.zip -d /somedir
Uso de herramientas de scripting: Perl y Python
Muchas respuestas aquí mencionan herramientas que requieren instalación, pero nadie ha mencionado que dos de los lenguajes de scripting de Ubuntu, Perl y Python, ya vienen con todos los módulos necesarios que le permiten descomprimir un archivo zip, lo que significa que no necesita instalar nada más. Simplemente use cualquiera de los dos scripts que se presentan a continuación para hacer el trabajo. Son bastante cortos e incluso se pueden condensar en un comando de una sola línea si quisiéramos.
Pitón
#!/usr/bin/env python3import sysfrom zipfile import PyZipFilefor zip_file in sys.argv[1:]: pzf = PyZipFile(zip_file) pzf.extractall()
Uso:
./pyunzip.py master.zip
o
python3 pyunzip.py master.zip
Perl
#!/usr/bin/env perluse Archive::Extract;foreach my $filepath (@ARGV){ my $archive = Archive::Extract->new( archive => $filepath ); $archive->extract;}
Uso:
./perlunzip master.zip
o
perl perlunzip.pl master.zip
Véase también
Si los directorios de origen y destino son los mismos, simplemente puede hacer:
unzip filename.zip
Yo prefiero bsdtar
a unzip
/zip
. Para extraer, son bastante similares:
bsdtar -x -f /one/two/three/four.zip -C /fiveunzip /one/two/three/four.zip -d /five
Sin embargo para comprimir, bsdtar
ganar. Digamos que tienes esta entrada:
/one/two/three/alfa/four.txt/one/two/three/bravo/four.txt
y quiero esto en el archivo zip:
alfa/four.txtbravo/four.txt
Esto es fácil con bsdtar
:
bsdtar -a -c -f four.zip -C /one/two/three alfa bravo
zip no tiene el -d
opción como descomprimir, por lo que no tiene forma de lograr lo anterior a menos que cd
primero.
Aquí está la descripción detallada de las opciones que encuentro útiles:
Comando: descomprimir - [opción] zip-path. -d un directorio opcional en el que extraer archivos-l Lista de archivos de almacenamiento. -P contraseña Utilizar contraseña para descifrar entradas de archivo zip cifradas (si las hay). - archivos de archivo de prueba t con comprobación de redundancia cíclica. - u Actualice los archivos existentes. - z comentario de archivo
Siga estas instrucciones: http://www.codebind.com/linux-tutorials/unzip-zip-file-using-terminal-linux-ubuntu-linux-mint-debian/
Instalar descomprimir
Entonces, en primer lugar, necesitamos instalar unzip en nuestro sistema si no está instalado. el comando descomprimir se utiliza para extraer archivos del archivo AZip.
Ejecute el siguiente comando para instalar
unzip
sudo apt-get install unzip
unzip
Sintaxis$ unzip [-aCcfjLlnopqtuvy] [-d dir] zipfile
Ahora sigue los pasos a continuación:
Descomprimir Archivo
OPCIÓN 1 - Si el Archivo Zip está en el mismo directorio / carpeta en el que se encuentra tu terminal y queremos extraerlo en el directorio de trabajo actual.
Utilice el siguiente comando para lograr el escenario descrito anteriormente
sudo unzip zip_file_name.zip
si el archivo zip está protegido con alguna contraseña, utilice el siguiente comando :
sudo ubzip -P zip_file_name.zip
Asegúrese de usar -P (P mayúscula) no -p porque son diferentes opciones.
OPCIÓN 2 - Si el archivo zip no está presente en el mismo directorio y queremos extraer / descomprimir el archivo en un directorio diferente.
Utilice el siguiente comando para lograr el escenario descrito anteriormente
sudo unzip path/filename.zip -d another_path_or_same_path
si no usamos la opción-d, el archivo se extraerá al directorio de trabajo actual.
Y si el archivo zip está protegido con contraseña, también podemos usar
-P
.usar el comando tar en Linux / Unix
tar
es un acrónimo de archivo de cinta. el comando tar se utiliza paramanipula archivos en Linux / Unix. Los administradores de sistemas usan tarcommand con frecuencia para extraer un montón de archivos o directorios en un archivo altamente comprimido que se llamatarball
otar
,bzip
ygzip
en Linux/Unix sistema.sintaxis de tar
tar [OPTION...] [FILE]...
O
banderas requeridas de alquitrán
tar {-r|-t|-c|-x|-u}
tar Indicadores opcionales
tar {one of the required Flags} [ -d ][-B] [ -F ] [ -E ] [ -i ] [-h ] [ -l ] [ -m ] [ -o ] [ -p ] [ -w] [ -s ] [ -U ] [ -v ][-Number] [-b Blocks] [-f Archive]
Ejemplos
Cree un Archivo de Almacenamiento tar Comprimiendo un Directorio o un Solo Archivo
El siguiente comando de terminal creará un
.tar
archivo llamadosample_dir.tar
con un directorio/home/codebind/sample_dir
osample_dir
en el directorio de trabajo actual.ripon@ripon:~$ tar -cvf sample_dir.tar sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tar
Esto es lo que realmente significan esas banderas (-cvf)
-c, --create
– crear un nuevo archivo
-x, --extract, --get
- extraer archivos de un archivo
-f, --file ARCHIVE
- usar archivo de almacenamiento o ARCHIVO de dispositivoCrear
tar.gz
otgz
Archivo Comprimido comprimiendo un Directorio o un Solo ArchivoEl siguiente comando de terminal creará un
.tar.gz
archivo llamadosample_dir.tar.gz
con un directorio/home/codebind/sample_dir
osample_dir
en el directorio de trabajo actual.Observe que hemos agregado un indicador adicional-z al comando.Esto es lo que realmente significa la bandera-z
-z, --gzip, --gunzip --ungzip
- Comprimir el archivo con gzipripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tar.gz
El siguiente comando creará un .archivo tgz. Uno de estos para notar istar.gz y tgz son similares.
ripon@ripon:~$ tar -cvzf sample_dir.tgz sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$ lssample_dir sample_dir.tgz
Comprimir Varios Directorios o Archivos a la Vez
Digamos, por ejemplo, que queremos comprimir el
sample_dir
directorio,eljava_test
directorio, y elabc.py
archivo a un archivo tar llamadosample_dir.tar.gz
.Ejecute el siguiente comando para lograr el objetivo anterior.
ripon@ripon:~$ tar -cvzf sample_dir.tar.gz sample_dir java_test abc.pysample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputjava_test/java_test/HelloCV.javaabc.pyripon@ripon:~$ lssample_dir java_test abc.py sample_dir.tar.gz
Crear
.bzip2
Archivo Comprimido comprimiendo un Directorio o un Solo Archivoripon@ripon:~$ tar -cjvf sample_dir.tar.bz2 sample_dirsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$
Observe que hemos agregado una bandera adicional
-f
al comando.Esto es lo que es la bandera-f
en realidad quiero decir
-f, --file ARCHIVE
- usar archivo de almacenamiento o ARCHIVO de dispositivoExtraer
.tar
ArchivoPodemos extraer o descomprimir el archivo comprimido utilizando el comando tar. El siguiente comando extraerá el contenido de
sample_dir.tar
al directorio actual.ripon@ripon:~$ tar -xvf sample_dir.tarsample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$
El siguiente comando extraerá o untará archivos en el directorio especificado, es decir,
/home/codebind/dir_name
en este caso.ripon@ripon:~$ tar -xvf sample_dir.tar -C /home/codebind/dir_namesample_dir/sample_dir/main.cppsample_dir/sample.pngsample_dir/outputripon@ripon:~$
hemos añadido bandera extra
-C
al comando.Esto es lo que la bandera-C
en realidad quiero decir
-C, --directory DIR
- cambiar al directorio DIR
Extraiga todos los archivos de la carpeta actual, puede usar: descomprimir \*.Postal
@burtsevyg la barra invertida no es necesaria allí. Hará que shell trate \ * ' como un símbolo de estrella literal. Simplemente use ' descomprimir *.zip 'para hacer que shell expanda' * ' a todos los archivos que terminan en
.Postal`
Usar * ' solo no funcionó para mí. Causó errores de 'nombre de archivo no coincidente'.
*` hizo el trabajo.