No blog da HostGator, você confere a sintaxe básica do Unzip Linux e como aplicá-lo no dia a dia para descompactar arquivos e realizar tarefas.

O Unzip Linux cumpre uma função muito importante em qualquer sistema: a compactação de arquivos. Também conhecidos como zipados, os arquivos, depois de compactados, ocupam menos espaço de armazenamento e podem ser transferidos de maneira mais rápida para outros computadores. 

A maioria dos arquivos de um computador possui informações repetidas, e comprimir um arquivo o organiza eliminando as redundâncias. Por exemplo, se as palavras “HostGator” aparecem diversas vezes em um texto, o algoritmo de compressão irá armazená-las apenas uma vez e guardará a posição das repetições. 

Os arquivos zip são um universal comumente usado em sistemas Windows, macOS e até mesmo Linux. É possível criar um arquivo zip ou descompactar arquivos com alguns comandos de terminal Linux. Neste artigo, você conhecerá as principais funcionalidades do unzip Linux e aprenderá como criar um. 

Sintaxe do Unzip Linux

Um dos formatos de compactação mais conhecidos é o zip. Embora .tar.gz e tar.bz2 sejam comuns no Linux, os usuários do Windows provavelmente enviarão um arquivo comprimido no formato zip. Já para enviar alguns arquivos a um usuário do Windows, o formato zip também é a solução mais fácil e compatível para ambos.

Para utilizar comandos Linux e descompactar um arquivo, é necessário ter o pacote unzip instalado em seu sistema. A maioria das distribuições Linux modernas vem com suporte para unzip. Porém, para instalá-lo no Linux CentOS e Fedora, basta usar:

sudo yum install unzip

Em distribuições baseadas em Ubuntu e Debian, o comando abaixo pode instalar o descompactador: 

sudo apt install zip unzip

A instalação da ferramenta é livre de requisitos de sistema, bastando que esteja logado como usuário sudo e aguarde um momento até que a instalação seja finalizada. Implementada a funcionalidade, na hora de descompactar um arquivo zip no Linux, use o código abaixo no diretório em que ele está localizado: 

unzip zipped_file.zip

Também é possível descompactar o arquivo para um diretório específico, diretamente da linha de comando do Linux. Se a pasta não existir, ela será criada. Para isso, utilize a seguinte instrução:

unzip zipped_file.zip -d unzipped_directory

Caso seja necessário verificar o conteúdo do zip antes de extraí-lo, o unzip file Linux possui essa funcionalidade digitando:

unzip -l zipped_file.zip

Também é possível descompactar o arquivo usando GUI. Para isso, é preciso abrir o gerenciador de arquivos e ir até a pasta onde o arquivo zip está armazenado. Clique com o botão direito no arquivo e aparecerá a opção “extrair aqui”. 

Ao contrário do unzip, as opções de “extrair aqui” criam uma pasta com o mesmo nome do arquivo compactado, onde fica todo o conteúdo extraído dos arquivos zipados. 

Funcionalidades do Unzip Linux

O comando unzip Linux pode ser usado para se comunicar com sistema Windows, economizar largura de banda na transferência de arquivos e até transferir arquivos de forma mais rápida. Ele também é útil para poupar espaço em disco e descompactar arquivos .zip protegidos por senha. 

Abaixo, você confere os comandos Linux mais usados para arquivos zipados!

Remoção de um arquivo no arquivo .zip

É possível remover arquivos que estão dentro de um zipado já criado. Para isso, use:

zip –d ExemploZipado.zip ExemploArquivo.txt

Assim que ele for executado, também se consegue descompactar o arquivo .zip usando:

unzip ExemploZipado.zip

Inserção de senhas

Para adicionar senhas a arquivos zip, use a opção “-e”, de encrypt (“criptografar” em inglês) será solicitada duas inserções da senha, uma para criá-la e outra para verificá-la. Isso pode ser feito da seguinte forma:

zip -e -r -q source_code/

Extração para o diretório

Para extrair arquivos para um diretório de destino específico, use a opção “-d”, de “diretório”, e forneça o caminho (path) até o diretório para o qual deseja que o arquivo seja extraído. 

unzip -q source_code.zip -d ./development

Extração de arquivos com senha

Se um arquivo zip tiver sido criado com uma senha, o unzip a solicitará para extrair os arquivos. Assim, se não se importar de ter sua senha vista por outras pessoas ‒ nem armazenada em seu histórico de comandos ‒, você consegue fornecê-la na linha com a opção “-P” (sim, maiúsculo!), de password (“senha”, em inglês):

unzip -P fifty.treacle.cutlass -q source_code.zip

Exclusão de arquivos 

Se não houver intuito de extrair um determinado arquivo ou grupo de arquivos, use a opção “-x” para excluir. No exemplo, a intenção é extrair todos os arquivos, exceto aqueles que terminam com a extensão “.h”:

unzip -q source_code.zip -x *.h

Substituição de arquivos 

Suponha que alguns dos arquivos extraídos tenham sido excluídos por engano. Uma solução rápida seria extrair os arquivos outra vez. Porém, caso você tente extrair o arquivo zip no mesmo diretório de antes, o “unzip” irá pedir autorização para substituir os arquivos e esperará uma das seguintes respostas:

  • y: sim, substitua este arquivo;
  • n: não, não substitua este arquivo;
  • R: tudo, substitua todos os arquivos;
  • N: nenhum, não substitua nenhum dos arquivos; 
  • r: renomeie, extraia este arquivo, mas dê a ele um novo nome (que será solicitado). 

Para forçar a descompactação a sobrescrever quaisquer arquivos existentes, use a opção “-o” e substitua:

unzip -o -q source_code.zip

A maneira mais eficiente de substituir os arquivos ausentes seria descompactar apenas aqueles que não estejam no diretório de destino. Para fazer isso, use a opção “-n”, de “nunca substituir”: 

unzip -n source_code.zip

Busca dentro de um arquivo zip

Geralmente, é útil ver uma lista dos arquivos dentro de um arquivo zip antes de extraí-lo. É possível fazer isso com a opção “-l”, de “lista de arquivos”, que é canalizado por “less”, que faz com que a saída seja gerenciável;

unzip -l source_code.zip | less

O resultado mostra os diretórios e arquivos dentro do arquivo zip, a duração deles, a hora e a data em que foram adicionados ao arquivo. Pressione “q” para sair do less.

Visualização de informações com o comando zipinfo 

O zipinfo oferece outra maneira de olhar dentro de um arquivo zip. Aqui, o comando less também é utilizado:

zipinfo source_code.zip | less

Nesse caso, o resultado mostrará: 

  • As permissões do arquivo;
  • A versão da ferramenta usada para criar o arquivo; 
  • O tamanho do arquivo original; 
  • Um descritor de arquivo; 
  • O método de compressão; 
  • Os dados e o carimbo de hora; 
  • Os nomes dos arquivos de qualquer subdiretório;

O descritor do arquivo tem dois caracteres: o primeiro, “t” ou “b”, indica um arquivo de texto ou binário, respectivamente, e é maiúsculo para criptografados; já o segundo é um dos quatro caracteres abaixo, com o tipo de metadados incluído para o arquivo ‒ nenhum, um cabeçalho local estendido, um “campo extra” ou ambos.

  • “-”: se nenhum dos dois existir, o caractere será um hífen;
  • “l”: se houver um cabeçalho local estendido, mas nenhum campo extra; 
  • “x”: se não houver cabeçalho local estendido, mas houver um campo extra; 
  • “X”: se houver um cabeçalho local estendido e um campo extra.

Como pode ser percebido, o Linux possui um universo à parte com uma lista de comandos Linux próprios. Por meio daqueles apresentados neste artigo, você consegue criar seus próprios arquivos zip, descompactar os arquivos recebidos e realizar várias outras operações neles, sem nunca sair do terminal Linux. 

Existem outros comandos que podem ser utilizados em diversas situações, mas esse tema pede um novo artigo. Esperamos que você tenha gostado deste conteúdo!