Até a presente publicação nós abordei o comando tar, usado para manipular arquivos tar.gz, e meios de se trabalhar com a extensão RAR, uma das mais poderosas para compactação. Dando continuidade ao tema, desta vez você aprenderá a descompactar Zip.
Decerto, não é novidade para você que o formato Zip é um dos mais utilizados. Embora ele seja mais antigo e ofereça menos capacidade em relação às principais alternativas, estamos falando do compactador padrão do Windows (WinZip). Logo, os usuários inexperientes tendem a utilizá-lo.
Mas e quanto aos usuários do Linux? Convém zipar os arquivos ou devem limitar-se a fazer descompactações quando necessário? Como veremos ao longo deste conteúdo, a depender da situação, o Zip continua útil.
Sobre o que mais falaremos? Além de apresentar o Zip, ensinarei a instalar os pacotes requeridos para trabalhar com ele, a zipar documentos (protegendo-os com senha) e a descompactar arquivos em diretórios específicos. Acompanhe!
História do formato de arquivos Zip
A história do Zip se inicia após uma ação judicial envolvendo o seu criador, o já falecido Phillip Katz, que desenvolveu uma solução de compressão de arquivos pela PKWARE, empresa fundada pelo próprio Katz.
Na época, a Systems Enhancement Associates (SEA) acusou no processo que o programa derivava de seu produto, o ARC. Concluído o caso — desfavoravelmente à PKWARE, diga-se —, Katz decidiu que desenvolveria uma nova ferramenta superior ao ARC em eficiência e rapidez, dando origem ao Zip.
Até mesmo em função dos propósitos de Katz, o nome Zip reproduz, figurativamente, o som de algo que se move em alta velocidade. O resultado da sua criação foi um sucesso a ponto de manter-se em alta 30 anos depois.
Instalação dos pacotes necessários
A instalação da ferramenta Zip é livre de requisitos de sistema, bastando que esteja logado como usuário sudo. Digite o comando:
sudo apt install zip unzip
Conforme já disse em outras oportunidades, o gerenciador de pacotes varia de acordo com a distribuição. O procedimento acima, por exemplo, é utilizado em sistemas baseados no Debian, como Ubuntu e Mint.
Sendo assim, se você está rodando um sistema baseado no Red Hat Enterprise Linux, como CentOS, SuSE e Fedora, comuns em ambientes de empresa, o comando passa a ser o Yum:
yum install zip yum install unzip
Quer saber mais sobre o assunto? Recomendo a leitura deste artigo no qual listamos sete gerenciadores de pacotes do Linux.
Principais comandos para se trabalhar com arquivos Zip
De antemão, não há segredo quanto à sintaxe do comando zip. Ela consiste em:
zip [opção] arquivo_zip arquivos_compactados
Para zipar arquivos, a sintaxe é:
zip arquivo.zip arquivo_compactado.txt
Parece confuso? Não se preocupe. Ao longo deste tópico serão apresentadas algumas opções e, com isso, tudo ficará mais nítido. Vamos aos comandos!
Criar e descompactar Zip
Coloquemos em prática a sintaxe que mencionei acima. Nesse caso, vamos compactar um documento chamado dados.txt no formato Zip, cujo arquivo zipado nomearemos teste.zip.
zip teste.zip dados txt
Viu como é simples? Agora, vejamos como extrairíamos o documento dados.txt do Zip.
unzip teste.zip
Remover itens de um arquivo Zip
Supondo que um arquivo Zip que você acaba de baixar esteja repleto de elementos descartáveis. Evidentemente, é desnecessário extrair todo o conteúdo e, depois, criar um Zip com o que interessa; em vez disso, temos à disposição a opção -d (delete).
Prosseguindo com a suposição, a relação dos dados zipados é: a1.txt b2.txt c3.txt d4.txt e5.txt. Destes, os únicos arquivos que o interessam são o a1.txt e o d4.txt; vamos remover os demais isoladamente.
zip -d arquivo.zip a2.txt a3.txt e5.txt
Incluir itens em um arquivo Zip
Da mesma maneira que conseguimos excluir itens do Zip, adicionamos arquivos a um Zip existente, ou seja, atualizá-lo. A opção que usamos para isso é a -u (update), conforme o exemplo:
zip arquivo.zip -u trilha.mp3 clipe.mkv livro.pdf
Excluir itens ao criar o Zip
É comum a prática de gerar um arquivo zipado envolvendo o conteúdo completo do diretório. Porém, tão comum quanto, é a presença de elementos que não queremos zipar. Nesse sentido, a opção -x (exclude) ajuda a economizar tempo com a tarefa.
zip arquivo.zip -x notas.txt cadastro.odt
Resumindo, o uso do comando zip não requer profundo conhecimento em Linux; prova disso é que você concluirá a leitura do artigo sabendo gerar um arquivo Zip encriptado.
Criação de arquivo Zip protegido com senha
Vamos compactar um conjunto de arquivos em Zip e encriptá-los com senha? Para esse procedimento nós podemos acionar o comando zip (opção encrypt) ou, se preferir, proceder com o poderoso 7-Zip.
Nesse exemplo, criaremos três arquivos de texto para testarmos a funcionalidade. Em seguida, os compactaremos em um arquivo Zip chamado teste.zip e, então, adicionaremos a ele uma senha. Acompanhe os comandos:
touch exempo1.txt exemplo2.txt exemplo3.txt zip -r teste.zip exempo1.txt exemplo2.txt exemplo3.txt zip --encrypt teste.zip
Ao concluir as etapas acima, o terminal solicitará a senha para encriptar o arquivo e a confirmação dela. Pronto! Os arquivos foram compactados e encriptados com chave AES 256 Bit.
Para que se tenha uma noção de quão difícil ficou quebrar a sua senha, acesse a página oficial da AES encryption. Lá, existe um campo no qual você pode simular o resultado da encriptação.
Descompactar Zip em diretórios específicos
Eis que você recebe do seu colega de trabalho um arquivo zipado cujos conteúdos são importantes. O que fazer para extraí-los no Linux? O processo é simples. No exemplo a seguir, selecionamos via terminal o arquivo instructions.zip e copiamos todo o seu conteúdo para o recém-criado diretório /usr/data/tmp/unziped. Veja:
mkdir -p /usr/data/tmp/unziped unzip instructions.zip -d /usr/data/tmp/unziped
No caso, a flag -d ativou a função para extração dos arquivos no diretório especificado. Muito fácil, não é mesmo? Tem mais: ao digitar o comando man unzip, serão exibidos em tela todos os comandos ligados à descompactação — o mesmo vale para a compactação, por meio do man zip.
Agora que você aprendeu a descompactar Zip, entre outras funções usando o formato, que tal obter acesso a materiais avançados, os quais vão de encontro aos seus objetivos de carreira? Conheça o site Profissionais Linux!