Você pode apenas usar *
; não há necessidade *.*
. As extensões de arquivo não são especiais no Unix. *
corresponde a zero ou mais caracteres, incluindo um ponto. Portanto, corresponde 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ê deseja. Caso contrário, no bash, se você shopt -s dotglob
quiser (mas ainda excluirá .
e ..
). Outros shells têm maneiras diferentes (ou nenhuma) de incluir arquivos de ponto.
Como alternativa, zip
também tem uma -r
opção (recursiva) para executar árvores de diretório inteiras de uma só vez (e não precisa se preocupar com o problema do arquivo de pontos):
zip -r myfiles.zip mydir
Onde mydir
está o diretório que contém seus arquivos. Observe que o zip produzido conterá a estrutura de diretórios e os arquivos. Como Peter aponta em seu comentário, isso geralmente é visto como uma coisa boa: a extração do 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 zip
comando 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.
zip myarch.zip mydir/*
?