Você pode usar apenas *
; não há necessidade de *.*
. As extensões de arquivo não são especiais no Unix. *
corresponde a zero ou mais caracteres, incluindo um ponto. Portanto, corresponde a foo.png
, porque são zero ou mais caracteres (sete, para ser exato).
Observe que *
por padrão não corresponde aos arquivos que começam com um ponto (nem *.*
). Isso geralmente é o que você quer. Se não, no bash, se você for shopt -s dotglob
(mas ainda excluirá .
e ..
). Outras shells têm formas diferentes (ou nenhuma) de incluir arquivos de ponto.
Como alternativa, zip
também tem uma opção -r
(recursiva) para fazer árvores de diretório inteiras de uma vez (e não precisa se preocupar com o problema do dotfile):
zip -r myfiles.zip mydir
onde mydir
é o diretório que contém seus arquivos. Observe que o zip produzido conterá a estrutura de diretório e os arquivos. Como peterph aponta em seu comentário, isso geralmente é visto como uma coisa boa: extrair o zip armazenará todos os arquivos extraídos em um subdiretório.
Você também pode dizer ao zip para não armazenar os caminhos com a opção -j
/ --junk-paths
.
O comando zip
vem com documentação informando sobre todas as suas (muitas) opções; digite man zip
para ver essa documentação. Isso não é exclusivo do zip; você pode obter documentação para a maioria dos comandos dessa maneira.