O uso de unzip
em particular pode causar alguma confusão. Pode ser chamado como
$ unzip x.zip file-1 file-2 file-3
em que file-1
e semelhantes são arquivos contidos em x.zip
. Para o restante desta resposta, presumirei que o diretório atual contém dois arquivos .zip
: x.zip
e y.zip
.
Quando o shell executa uma expansão glob (curingas como *
ou ?
), cada arquivo correspondente se torna um argumento separado. Então
$ unzip *.zip
se transforma em
$ unzip x.zip y.zip
Lembre-se, esta sintaxe significa "extrair o arquivo y.zip
do arquivo x.zip
". Para permitir vários arquivamentos, unzip
também processará curingas. Se você quiser deixar unzip
manipular os curingas em vez do shell, você deve citar ou escapar deles:
$ unzip \*.zip
ou
$ unzip '*.zip'