De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 16 de fevereiro de 2023
O comando zip é uma ferramenta de linha de comando usada para compactar
arquivos em sistemas GNU/Linux. Pode ser usado para compactar um grande número
de arquivos em um único arquivo, economizando espaço em disco e facilitando
o compartilhamento.
A seguir, descrevemos os principais recursos e opções do comando zip.
O comando zip geralmente já vem pré-instalado na maioria das distribuições
GNU/Linux. Caso ainda não esteja instalado em seu sistema, você pode instalá-lo
usando o gerenciador de pacotes de sua distribuição.
Em distribuições baseadas no Debian, por exemplo, basta executar o seguinte comando:
$ sudo apt-get install zip
Para criar um arquivo zip, basta executar o comando zip seguido pelo
nome que você deseja dar ao arquivo zip e os arquivos que você deseja
compactar. Por exemplo, para compactar todos os arquivos no diretório atual
em um arquivo chamado arquivos.zip, você pode executar o seguinte comando:
$ zip arquivos.zip *
Este comando irá compactar todos os arquivos no diretório atual em um único
arquivo chamado arquivos.zip.
Para listar o conteúdo de um arquivo zip, você pode usar o comando
unzip seguido do parâmetro -l (list), seguido do nome do arquivo
zip que deseja listar, como mostrado abaixo:
$ unzip -l arquivo.zip
Esse comando listará o conteúdo do arquivo zip e exibirá informações como o
nome do arquivo, o tamanho, a data e a hora da última modificação e o método
de compressão usado.
Se você quiser ver apenas o nome dos arquivos contidos no arquivo zip,
sem exibir as informações adicionais, você pode usar o seguinte comando:
$ unzip -l arquivo.zip | awk '{print $4}'
Esse comando usa o comando awk para imprimir apenas a quarta coluna (o nome
do arquivo) da saída do comando unzip -l.
Para extrair apenas um arquivo de um arquivo zip você pode usar o
seguinte comando:
$ unzip nome-do-arquivo.zip caminho/do/arquivo/desejado
Substitua nome-do-arquivo.zip pelo nome do arquivo zip que contém o
arquivo que você deseja extrair e caminho/do/arquivo/desejado pelo
caminho completo para o arquivo que você deseja extrair. Certifique-se de
que o caminho está correto e inclua a extensão do arquivo.
Por exemplo, se você deseja extrair o arquivo exemplo.txt do arquivo
arquivo.zip que está localizado na pasta /home/usuario/documentos,
o comando seria:
$ unzip /home/usuario/documentos/arquivo.zip exemplo.txt
Isso extrairá o arquivo exemplo.txt do arquivo arquivo.zip para o diretório atual.
O comando zip possui muitas opções avançadas que podem ser usadas para
personalizar a maneira como os arquivos são compactados. Aqui estão algumas
das opções mais úteis:
| Opção | Descrição |
|---|---|
-r |
Recursivamente compacta arquivos em diretórios e subdiretórios. |
-j |
Compacta arquivos sem incluir informações de diretório. |
-q |
Executa o comando em modo silencioso. |
-9 |
Usa a máxima compressão possível. |
Para extrair arquivos de um arquivo zip, basta executar o comando unzip
seguido do nome do arquivo zip. Por exemplo, para extrair todos os arquivos
de um arquivo chamado arquivos.zip, você pode executar o seguinte comando:
$ unzip arquivos.zip
Este comando irá extrair todos os arquivos do arquivo zip para o diretório atual.
Assim como o comando zip, o comando unzip também possui várias opções
avançadas que podem ser usadas para personalizar a maneira como os arquivos
são descompactados. Algumas das opções mais úteis são:
| Opção | Descrição |
|---|---|
-d |
Especifica o diretório de destino para a extração. |
-q |
Executa o comando em modo silencioso. |
Para saber mais sobre o comando zip e obter informações de uso mais
detalhadas, consulte a documentação (man zip)