Este artigo fará com que você a aprenda tudo sobre o comando Unzip no Linux para descompactar diretórios e arquivos via terminal. O Unzip é uma ferramenta de extração de arquivos que nós podemos instalar e utilizar em praticamente todos os sistemas operacionais, porém, quando se trata do sistema operacional Windows, ele já vem instalado de forma padrão.
No entanto, no Linux, o Unzip vem instalado em apenas algumas distribuições. E quando necessário, o instalamos via linha de comando.
Conteúdo
Sobre o comando Unzip no Linux
Um dos mais antigos utilitários descompactadores existentes, o Unzip é uma ferramenta para extração de arquivos e diretórios que estejam compactados na extensão .zip.
Apesar de ser uma ferramenta bastante antiga, o Unzip permanece sendo uma das mais utilizadas, independente de qual for o nível de conhecimento de quem está administrando o ambiente Linux.
Mas, por ele ser antigo, se comparado a outros utilitários mais novos, ainda compensa o seu uso no Linux?
Com certeza! O Unzip permanece sendo útil principalmente pela sua facilidade no uso. Além disso, o foco aqui é mostrar todos os recursos e como utilizar o Unzip para descompactar arquivos no Linux.
Então, vamos continuar falando um pouco mais sobre o Unzip, como instalar seus pacotes e como descompactar arquivos em diretórios específicos.
Por que devemos utilizar o comando Unzip no Linux?
A compactação de arquivos e diretórios permite a você economizar espaço em disco quando é necessário guardar grande volume de dados, pois reduz significativamente o espaço que ele ocupa.
Além do mais, compactar arquivos e diretórios agiliza a transferência do conteúdo entre servidores, já que haverá uma menor quantidade de dados trafegando e consequentemente haverá menor consumo de banda.
Transferir grande volume de arquivos de forma compactada traz maior confiabilidade e menor chance de perda e corrompimento durante o processo.
E o Unzip é a forma mais simples de descompactar, como veremos no decorrer deste artigo.
Além disso, em sistemas operacionais do tipo Unix, o comando unzip lista, extrai e testa arquivos compactados em um arquivo .zip.
Como instalar a ferramenta Unzip no Linux
O processo de instalação do utilitário Unzip não exige nenhuma especificação de sistema, então, isso torna essa ferramenta compatível com todas as distribuições Linux.
Mas, a única dependência é de que o usuário esteja logado com privilégios de sudo (super usuário), dessa forma, ele terá permissão para executar os comandos necessários para a instalação.
Para este tutorial, utilizamos o Ubuntu 22.04 LTS como distribuição base para a instalação e execução dos comandos.
Etapas para a instalação e uso do Unzip no Linux
Atualize o Linux
A ferramenta que estamos prestes a instalar está disponível tanto no repositório padrão da distribuição do sistema quanto no gerenciador de pacotes apt.
Para que sejamos capazes de iniciar a instalação, vamos executar o comando para atualização dos pacotes e atualização do sistema. Com isso, seremos capazes de obter o pacote mais atual da ferramenta.
$ sudo apt update && sudo apt upgrade -y
Instalando o Unzip no Linux
Antes de tudo, para descompactar arquivos Zip no Linux, você deve conferir se o utilitário necessário está disponível no sistema. Embora geralmente o utilitário Unzip já venha pré-instalado em algumas distribuições Linux. Do contrário, rode o comando abaixo para efetivar a instalação:
$ sudo apt install unzip
Depois de instalar o unzip, você pode ver a sua versão instalada usando o seguinte comando:
$ unzip -v
Sintaxe básica do comando Unzip
A sintaxe básica que você precisa conhecer para começar a usar o comando unzip está abaixo:
unzip [OPÇÃO] nomedoarquivo.zip
Então, confira abaixo, uma breve explicação de cada opção que você pode usar com unzip:
-l : Nos permite visualizar todos os arquivos disponíveis no arquivo zip.
-t : Utilizamos essa opção para testar a integridade dos arquivos .zip.
-q : Com essa opção, nós ocultamos as mensagens exibidas durante o processo de descompactação. É conhecido como modo silencioso de descompactação.
-v : Esta opção nos permite visualizar informações mais detalhadas durante o processo de descompactação. É uma opção mais completa que o -l.
-j : Ao usarmos essa opção, a descompactação será feita sem criar a estrutura de diretórios dos arquivos.
-n : Usamos essa opção para ignorar a extração de todos os arquivos existentes no arquivo .zip.
-o : Nós fazemos uso dessa opção quando queremos sobrescrever arquivos existentes sem aviso durante o processo de extração.
-P : É necessário utilizar essa opção quando queremos informar uma senha para extrair o arquivo zip protegido por senha.
-d : Utilizamos essa opção quando queremos extrair arquivos em um diretório diferente do qual nos encontramos.
-u : Usamos essa opção quando queremos extrair apenas os arquivos que ainda não existem no diretório.
Como descompactar arquivos com Unzip
Em sua forma mais simples, quando usado sem nenhum parâmetro, o comando unzip extrai todo o conteúdo de arquivos arquivos .zip especificado para o diretório atual em que o usuário está.
Por exemplo, digamos que você baixou o arquivo ZIP de instalação do WordPress. Para descompactar este arquivo no diretório atual, basta executar o seguinte comando:
$ sudo unzip wordpress.zip
Para a extração ser bem-sucedida, você precisa ter permissão de escrita no diretório em que está descompactando o arquivo.
Dessa forma, os arquivos extraídos passam a pertencer ao usuário no qual os extraíram se não houver uso do sudo.
Ocultar a saída do comando Unzip
Por padrão, o unzip exibe o caminho e nomes de todos os arquivos que está extraindo, além de um resumo na conclusão da extração.
Quando desejamos ocultar toda as saídas dessa extração usamos o parâmetro -q para ocultar a impressão desses avisos.
Exemplo:
$ sudo unzip -q teste.zip
Saída:
Descompactar um arquivo Zip em um diretório diferente
Quando precisamos descompactar um arquivo ZIP em um diretório diferente do atual em que estamos, usamos o parâmetro -d para nos auxiliar.
Sintaxe:
$ sudo unzip nomedoarquivo.zip -d /caminho/do/diretório/de/destino
Por exemplo, para você descompactar o arquivo teste.zip no caminho /var/www/html, usaria o seguinte comando:
$ sudo unzip teste.zip -d /var/www/html
A saída deverá ser:
Lembrando que, usamos o sudo no início do comando porque geralmente o usuário com o qual estamos logados não possui privilégios de gravação no diretório /var/www/html. Quando extraímos os arquivos usando sudo, o conteúdo extraído passa a ser de propriedade do usuário root.
Como descompactar um arquivo Zip protegido por senha
Para descompactar um arquivo protegido por senha, você deve utilizar o comando unzip com o auxílio do parâmetro -P, seguido da senha. Vejamos:
$ sudo unzip -P SenhaAqui arquivo.zip
Exemplo:
Mas atenção! Inserir senha diretamente na linha de comando é um tanto quanto inseguro e deve ser evitado. Portanto, um modo mais seguro é sempre tentar extrair os arquivos .zip normalmente sem fornecer a senha no comando. E se o arquivo ZIP estiver criptografado, logo em seguida será solicitado que você digite a senha em um novo campo.
$ sudo unzip teste.zip
archive: teste.zip
[teste.zip] exemplo.txt password:
Desde que a senha digitada esteja correta, o unzip a aceitará para todos os arquivos a serem extraídos.
Como excluir arquivos ao descompactar um arquivo Zip
Caso deseje que determinados arquivos ou diretórios não sejam extraídos, use o comando unzip com a opção -x seguida pela lista do que não quer extrair. A lista de nomes deve ser separada apenas por espaço em branco.
Exemplo:
$ sudo unzip arquivo.zip -x teste1.txt teste2.txt
Outra forma um pouco mais simples de usar o mesmo comando:
$ sudo unzip arquivo.zip -x “*.txt”
Abaixo, um comando mostrando a extração de todos os arquivos e diretórios, exceto o diretório modulos:
$ sudo unzip teste.zip -x "*modulos/*"
Sobrescrever arquivos existentes com comando Unzip
Se por ventura você já descompactou um arquivo Zip e irá descompactá-lo novamente no mesmo local executando o mesmo comando.
Por exemplo:
$ sudo unzip teste.zip
Archive: teste.zip
replace modulos? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Por padrão, o unzip perguntará se você deseja sobrescrever apenas o arquivo ou diretório atual, sobrescrever todos os arquivos e diretórios, ignorar a extração do arquivo atual, ignorar a extração de todos os arquivos ou renomear o arquivo atual.
Se você deseja extrair novamente e substituir os arquivos e diretórios existentes sem este aviso, utilize o parâmetro -o no comando:
$ sudo unzip -o teste.zip
Devemos usar essa opção com atenção, pois se fizemos alterações importantes nos arquivos, elas serão perdidas.
Testar se um arquivo Zip é válido com o comando Unzip
No dia a dia administrando sistemas Linux você pode se deparar com arquivos zip defeituosos. Então, para testar se o arquivo zip é um arquivo válido ou não, use a opção -t com o comando unzip:
$ sudo unzip -t teste.zip
Caso seja encontrado algum arquivo defeituoso, ao final da análise será apontado qual o arquivo com problema.
Visualizar detalhes de arquivos compactados com o comando Unzip
Você pode ver as informações mais detalhadas de cada arquivo localizado dentro do arquivo zip, use a opção -v com o comando unzip:
$ sudo unzip -v teste.zip
Descompactar um arquivo Zip sem sobrescrever os arquivos existentes
Suponhamos que você tenha descompactado um arquivo Zip e modificou alguns arquivos, porém, excluiu alguns outros arquivos por engano. Você gostaria de restaurar os arquivos excluídos e manter os demais arquivos já alterados.
Neste caso, utilize o parâmetro -n que obrigará o comando unzip a pular a extração dos arquivos que já existam:
$ sudo unzip -n teste.zip
A saída somente exibirá os arquivos que ainda não existiam antes da extração.
Como descompactar vários arquivos Zip com Unzip
Se necessário, você pode fazer uso de expressões regulares para referenciar a vários arquivos .zip.
Por exemplo, se você tem muitos arquivos .zip em um diretório, poderá descompactá-los através de apenas um comando:
$ sudo unzip '*.zip'
Observe aqui o uso das aspas simples ao redor de *.zip. Se acaso não as usar neste argumento, o shell do Linux irá retornar um erro.
Saída do comando:
Como listar o conteúdo de um arquivo Zip
Para listar o conteúdo de um arquivo compactado em formato ZIP, use a opção -l:
$ sudo unzip -l teste.zip
No exemplo abaixo, foram listados todos os arquivos do diretório teste:
$ sudo unzip -l teste.zip
A saída ficará assim:
Como listar o conteúdo de um arquivo Zip com informações detalhadas
Para listar o conteúdo de um arquivo compactado com informações detalhadas sobre o que há no arquivo, use a opção -Z.
O resultado que essa opção traz é semelhante ao que o comando ls -la faz ao listarmos arquivos dentro de um diretório não compactado. E também se assemelha bastante ao resultado que o comando -v gera, mas de uma forma menos complexa de compreender.
$ sudo unzip -Z teste.zip
Como desinstalar o Unzip no Linux
Se após um tempo você não quiser mais esse descompactador de arquivos no seu Linux, confira a seguir o comando para remover o Unzip por completo e suas dependências.
$ sudo apt autoremove --purge unzip
Vantagens do Unzip no Linux
Compatibilidade entre plataformas: O Unzip é ativamente suportado por vários sistemas operacionais, fazendo com que a transferência de arquivos seja fácil e eficiente. Reduz a demanda de rede para transferência porque os arquivos compactados são menores.
Proteção por senha: Ao usar o Unzip, você pode controlar o acesso ao conteúdo compactado usando uma senha, com a qual apenas alguém que tenha a senha poderá descompactar o arquivo.
Manipular grandes arquivos: Quando compactado, o tamanho do arquivo reduz consideravelmente e agora podemos lidar com arquivos grandes com mais facilidade. Este mecanismo de compactação e descompactação nos permite transferir grandes quantidades de dados facilmente.
Mais controle sobre os dados: Devido as sintaxes de comandos serem amigáveis
Compactação de arquivos: Durante a compactação, o tamanho do arquivo reduz consideravelmente e os dados se tornam mais gerenciáveis, pois, ao descompactar, conseguimos recuperar os arquivos originais com mais facilidade.
Então, essas foram todas as principais opções comumente utilizadas com o comando Unzip para descompactar arquivos no ambiente operacional Linux.
Apesar de ser um utilitário pioneiro nesse tipo de solução, o unzip é uma ferramenta muito popular e amplamente utilizada que nos ajuda a listar, testar e a extrair arquivos compactados em formato ZIP.