Por que a exclusão de uma pasta específica não funciona enquanto faço um arquivo .zip?

1

Eu quero fazer um arquivo zip de um diretório, exceto uma pasta específica que está nele. Aqui está o meu comando:

zip -r -x 'public/images/' tw.zip /var/www/html/m4/

Eu quero fazer um zip dessa pasta /var/www/html/m4/ exceto public/images/ que existe nela. Mas meu comando lança essa mensagem de erro:

zip error: Invalid command arguments (nothing to select from)

O que há de errado e como posso corrigi-lo?

    
por stack 23.04.2017 / 08:34

1 resposta

2

A página do zip man diz:

zip ... [zipfile [file ...]] [-xi list]

Assim, o nome do arquivo zip e o caminho para a estrutura que você deseja compactar devem vir antes da sua lista de exclusão.

Esta parte do seu comando não será aplicada corretamente:

-x 'public/images/'

Porque ele não especifica arquivos na maneira como o zip reconhece.

Isso funcionará:

zip -r my.zip /var/www/html/m4/ -x /var/www/html/m4/public/images/\*
  • Como você sabe, -r é recursivo.
  • -x é usado para excluir (arquivos),
  • \ before * é usado para evitar expansão de nome de arquivo pelo shell; deixamos isso para zip .
por Ravexina 23.04.2017 / 09:21