Zip incluindo arquivos ocultos

88

No Linux, posso compactar tudo (exceto arquivos ocultos) no diretório atual fazendo:

zip 1.zip *

Mas como faço para incluir os arquivos ocultos?

john-jones
fonte

Respostas:

163

EDITAR: A maneira correta ézip -r 1.zip .

Os comandos mostrados na minha resposta anterior abaixo estão incorretos porque também incluem o diretório pai.


Você já tentou isto:

zip yourfile.zip sourcedir/* .*

ou você no seu caso

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

Deve incluir todos os arquivos ocultos também.

Gunnar
fonte
1
isso funciona muito bem, mas agora estou recebendo ../ que eu acho que não quero.
john-jones,
por ../ você quer dizer que você também está compactando arquivos do diretório acima?
Gunnar
1
pelo visto. Quando faço zip 1.zip *. * (Em uma pasta com a subpasta a e um arquivo oculto chamado '.hidden_file'), obtenho:
john-jones
adicionando: a / (armazenado 0%) adicionando: ../ (armazenado 0%) adicionando: .hidden_file (armazenado 0%)
john-jones
12
ou, como você disse, 'zip -r 1.zip.', que também funciona e é mais simples.
john-jones
18

Ou você pode adicionar mais simples

zip 1.zip ./
pictoru
fonte
12

Só para ter certeza de que não é esquecido, já que este é um fórum para desenvolvedores e muitos de nós usam git.

Uma maneira fácil de obter apenas o que deseja no zip é usar git archive -o filename.zip branch

código
fonte
1
Obrigado! Isso era exatamente o que eu precisava: muito menos problemas do que ligar manualmente zip.
Egon
Essa abordagem não inclui o .git/diretório
ScottMcC
@ScottMcC Se você precisasse de algo que já estivesse relacionado ao git, não iria simplesmente cloná-lo?
código
Seria bom para transferência com scp
William Rusnack
5

Se você deseja compactar todos os arquivos (+ arquivos ocultos), use: zip -r namefiles.zip. O "." todos os arquivos estão na pasta.

zip -r namefiles.zip "folder will zip"
D z
fonte
1
Como sua resposta difere da resposta aceita, que afirma "A maneira correta é zip -r 1.zip ."?
Simon MᶜKenzie
@ SimonMᶜKenzie Ele também explicou o que "." significa. Isso fez a diferença, suponho.
Chung Lun Yuen,
8
O "." NÃO são todos os arquivos na pasta. Significa a própria "pasta atual", que acabaria por incluir todo o seu conteúdo.
Izhar Aazmi
1

se você não tiver direitos para salvar o arquivo zip no diretório atual, você pode ir para o diretório onde você tem direitos e digitar

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

No entanto, quando .../some_dirvocê digita

unzip 1.zip

então seus arquivos serão descompactados em .../some_dir/path/to/source/dir/

Kamil Kiełczewski
fonte