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

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

Estou trabalhando em um diretório parecido com este:

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

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

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

É possível usar o zipcomando da linha de comando para fazer isso? Ou seria melhor escrever um comando personalizado para fazer isso?

Responder1

execute a partir desse diretório:

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

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

informação relacionada