Guia do Linux/Iniciante+Intermediário/Compactadores/zip
zip
editarUtilitário de compactação compatível com pkzip
(do DOS
) e trabalha com arquivos de extensão .zip
. Possui uma ótima taxa de compactação e velocidade no processamento dos arquivos compactados (comparando-se ao gzip
).
zip [opções] [arquivo-destino] [arquivos-origem]
Onde:
- arquivo-destino
- Nome do arquivo compactado que será gerado.
- arquivos-origem
- Arquivos/Diretórios que serão compactados. Podem ser usados curingas para especificar mais de um arquivo de uma só vez (veja [ch-bas.html#s-basico-curingas Curingas, Seção 2.12]).
- opções
- -r
- Compacta arquivos e sub-diretórios.
- -e
- Permite encriptar o conteúdo de um arquivo
.zip
através de senha. A senha será pedida no momento da compactação. - -f
- Somente substitui um arquivo compactado existente dentro do arquivo
.zip
somente se a versão é mais nova que a atual. Não acrescenta arquivos ao arquivo compactado. Deve ser executado no mesmo diretório onde o programazip
foi executado anteriormente. - -F
- Repara um arquivo
.zip
danificado. - -[NUM]
- Ajusta a qualidade/velocidade da compactação. Pode ser especificado um número de 1 a 9. O 1 permite mínima compactação e máxima velocidade, 9 permite uma melhor compactação e menor velocidade.
- -i [arquivos]
- Compacta somente os [arquivos] especificados.
- -j
- Se especificado, não armazena caminhos de diretórios.
- -m
- Apaga os arquivos originais após a compactação.
- -T [arquivo]
- Procura por erros em um arquivo
.zip
. Caso sejam detectados problemas, utilize a opção -F para corrigi-los. - -y
- Armazena links simbólicos no arquivo
.zip
. Por padrão, os links simbólicos são ignorados durante a compactação. - -k [arquivo]
- Modifica o [arquivo] para ter compatibilidade total com o
pkzip
doDOS
. - -l
- Converte saltos de linha
UNIX
(LF) para o formato CR LF (usados peloDOS
). Use esta opção com arquivos Texto. - -ll
- Converte saltos de linha
DOS
(CR LF) para o formatoUNIX
(LF). Use esta opção com arquivos texto. - -n [extensão]
- Não compacta arquivos identificados por [extensão]. Ele é armazenado sem compactação no arquivo
.zip
, muito útil para uso com arquivos já compactados.
Caso sejam especificados diversas extensões de arquivos, elas devem ser separadas por : - Por exemplo, zip -n .zip:.tgz arquivo.zip *.txt.
- -q
- Não mostra mensagens durante a compactação do arquivo.
- -u
- Atualiza/adiciona arquivos ao arquivo
.zip
- -X
- Não armazena detalhes de permissões, UID, GID e datas dos arquivos.
- -z
- Permite incluir um comentário no arquivo
.zip
.
Caso o nome de arquivo de destino não termine com .zip
, esta extensão será automaticamente adicionada. Para a descompactação de arquivos .zip
no GNU/Linux
, é necessário o uso do utilitário unzip
. Exemplos:
- zip textos.zip *.txt - Compacta todos os arquivos com a extensão
.txt
para o arquivotextos.zip
(compare o tamanho do arquivo compactado digitando ls -la). - zip -r textos.zip /usr/*.txt - Compacta todos os arquivos com a extensão
.txt
do diretório/usr
e sub-diretórios para o arquivotextos.zip
. - zip -9 textos.zip * - Compacta todos os arquivos do diretório atual usando a compactação máxima para o arquivo
textos.zip
. - zip -T textos.zip - Verifica se o arquivo
textos.zip
contém erros.