Na linha de comando, como faço para compactar arquivos e diretórios específicos em uma pasta compactada?

1

Estou trabalhando em um diretório com esta aparência:

folder
  >.git
  >css
  >img
  >js
  Archive.zip
  bla.html
  bla.yml

Durante o trabalho neste projeto eu tenho que zipar o conteúdo desta pasta com a exceção de Archive.zip e o diretório .git (a nova pasta zipada precisa substituir o arquivo Archive.zip anterior).

Estou fazendo isso selecionando os arquivos apropriados > clique com o botão direito > comprimir. Isso não é tão eficiente quanto poderia ser.

É possível usar o comando zip na linha de comando para realizar isso? Ou seria melhor escrever um comando personalizado para fazer isso?

    
por Ecnalyr 24.10.2014 / 17:02

1 resposta

1

execute a partir desse diretório:

rm Archive.zip; zip Archive.zip -r . --exclude '.git/*'

rm irá remover o antigo arquivo Archive.zip (você precisa fazer isso, ou o zip irá apenas ATUALIZAR o conteúdo atual do arquivo Archive.zip); zip -r . adicionará todos os diretórios e pastas de forma recursiva, e --exclude '.git/*' excluirá determinados diretórios.

    
por 24.10.2014 / 19:14