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?

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.


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 ./

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


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"

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/

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.