Zip incluyendo archivos ocultos

85

En Linux puedo comprimir todo (excepto los archivos ocultos) en el directorio actual haciendo:

zip 1.zip *

Pero, ¿cómo incluyo los archivos ocultos?

Fzs2
fuente

Respuestas:

159

EDITAR: La forma correcta eszip -r 1.zip .

Los comandos que se muestran en mi respuesta anterior a continuación son incorrectos porque también incluyen el directorio principal.


¿Has probado esto?

zip yourfile.zip sourcedir/* .*

o tu en tu caso

zip 1.zip * .[^.]*'

También debe incluir todos los archivos ocultos.

Gunnar
fuente
1
Eso funciona bastante, pero ahora también estoy obteniendo ../ que no creo que quiera.
Fzs2
por ../ quieres decir que también estás comprimiendo archivos del directorio de arriba?
Gunnar
1
aparentemente. Cuando hago zip 1.zip *. * (En una carpeta con la subcarpeta ay un archivo oculto llamado '.hidden_file') obtengo:
Fzs2
agregando: a / (almacenado 0%) agregando: ../ (almacenado 0%) agregando: .hidden_file (almacenado 0%)
Fzs2
12
o como dijiste, 'zip -r 1.zip.', que también funciona y es más simple.
Fzs2
16

O puede agregar más simple

zip 1.zip ./
pictoru
fuente
11

Solo para asegurarnos de que no se olvide, ya que este es un foro para desarrolladores y muchos de nosotros usamos git.

Una manera fácil de obtener solo lo que desea en el zip es usar git archive -o filename.zip branch

código
fuente
1
¡Gracias! Eso era exactamente lo que necesitaba: muchos menos problemas que llamar manualmente zip.
Egon
Sin embargo, este enfoque no incluye el .git/directorio
ScottMcC
@ScottMcC Si necesitaras algo que ya esté relacionado con git, ¿no lo clonarías?
código
Sería bueno para transferir con scp
William Rusnack
5

Si desea comprimir todos los archivos (+ archivos ocultos), utilice: zip -r namefiles.zip. Los "." son todos los archivos de la carpeta.

zip -r namefiles.zip "folder will zip"
D z
fuente
1
¿En qué se diferencia su respuesta de la respuesta aceptada, que dice "La forma correcta es zip -r 1.zip ."?
Simon MᶜKenzie
@ SimonMᶜKenzie También explicó qué "." medio. Eso marcó la diferencia, supongo.
Chung Lun Yuen
8
Los "." NO son todos los archivos de la carpeta. Significa la propia "carpeta actual", que en última instancia incluiría todo su contenido.
Izhar Aazmi
1

si no tiene derechos para guardar el archivo zip en el directorio actual, puede ir al directorio donde tiene derechos y escribir

zip -r 1.zip /path/to/source/dir/.

Sin embargo, cuando si .../some_direscribe

unzip 1.zip

entonces tus archivos se descomprimirán en .../some_dir/path/to/source/dir/

Kamil Kiełczewski
fuente