Comprimir carpetas y sus contenidos en un archivo .zip en Linux


80

¿Cómo hago un archivo .zip que contenga cada archivo Y cada carpeta en el directorio?

linux  zip 

¿Tiene que ser un .zip o estás justo después de un archivo comprimido?

1
Uso 'tar': tar -zcvf archive.tar.gz directory / unix.stackexchange.com/questions/93139/…
njuhgn

Respuestas:


124
zip -r foo.zip dir_path

El -r significa recursivo y le dice que revise todas las subcarpetas. Realmente no necesita el .zipen el nombre de archivo ( foo.zip) ya que creará esto de todos modos.
user2924019

El comentario de @ user2924019 de que no necesita especificar el nombre zip no es verdadero en CentOS7.
killjoy

CentOS7 es exactamente donde probé esto.
user2924019

1
Bueno, hemos llegado a lo que se conoce como un enfrentamiento mexicano, ¿no?
seizethecarp

16

Tratar:

zip -r filename.zip /path/to/folder

Nota: esto irá de forma recursiva, es decir, comprimirá todas las carpetas y todas las subcarpetas de la carpeta dada.


5

Usa la -ropción. Desde zip (1) :

-r

Recorre la estructura de directorios de forma recursiva; por ejemplo:

zip -r foo foo

El nombre del archivo zip es lo primero. "Recursivamente" significa que el archivo zip incluirá subcarpetas de la carpeta dada, las subcarpetas de esas carpetas, etc.


¿Dónde va el archivo .zip después de comprimir?
Siraj Alam

3

Si está obligado a un zip, usaría:

zip -r zipfilename directoryPath

La -res la clave, pero puede encontrar todas las opciones aquí .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.