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?


fuente
¿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
Wesley Rice
fuente
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.

icyrock.com
fuente
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.

Por favor levantese
fuente
¿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í .

Amal Murali
fuente