Compactando pastas e seu conteúdo em um arquivo .zip no Linux

80

Como faço para criar um arquivo .zip que contém todos os arquivos E todas as pastas do diretório?


fonte
Ele precisa ser um .zip ou você está logo após um arquivo compactado?
11
Eu uso 'tar': tar -zcvf archive.tar.gz diretório / unix.stackexchange.com/questions/93139/…
njuhgn

Respostas:

124
zip -r foo.zip dir_path
Wesley Rice
fonte
O -r significa recursivo e diz para ele percorrer todas as subpastas. Você realmente não precisa do .zipnome do arquivo ( foo.zip), pois ele criará isso de qualquer maneira.
precisa saber é o seguinte
O comentário de @ user2924019 de que você não precisa especificar o nome do CEP não é verdadeiro no CentOS7.
killjoy
O CentOS7 é exatamente onde eu testei isso.
usar o seguinte comando
11
Bem, chegamos ao que é conhecido como impasse mexicano, agora não chegamos?
seizethecarp
16

Experimentar:

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

Nota - isso ocorrerá recursivamente, ou seja, compactará todas as pastas e todas as subpastas da pasta especificada.

icyrock.com
fonte
5

Use a -ropção Do zip (1) :

-r

Percorra a estrutura de diretórios recursivamente; por exemplo:

zip -r foo foo

O nome do arquivo zip vem primeiro. "Recursivamente" significa que o arquivo zip incluirá subpastas da pasta especificada, subpastas dessas pastas e assim por diante.

PleaseStand
fonte
Para onde o arquivo .zip vai após o zipamento?
Siraj Alam
3

Se você estiver vinculado a um zip, eu usaria:

zip -r zipfilename directoryPath

A -rchave é a chave, mas você pode encontrar todas as opções aqui .

Amal Murali
fonte