Visão Geral
Apresentamos o uso básico e as opções essenciais para o dia a dia do comando unzip, frequentemente utilizado para descompactar arquivos ZIP em ambientes Linux. Este guia passo a passo aborda desde a visualização prévia da lista de arquivos e a extração para pastas específicas até a solução de problemas de codificação com caracteres corrompidos em arquivos gerados no Windows.
Instalação do Pacote unzip e Preparação de Arquivos ZIP de Teste
Para descompactar e criar arquivos comprimidos no ambiente Ubuntu, instale os pacotes necessários com o comando sudo apt-get update -qq && sudo apt-get install -y unzip zip.

Crie um espaço de trabalho dedicado para a prática e acesse esse diretório executando o comando mkdir -p ~/unzip-demo && cd ~/unzip-demo.

Crie arquivos de texto e de configuração de exemplo para o teste de compressão com o comando echo 'Hello Linux' > file1.txt && echo 'Config Content' > config.cfg.

Agrupe os arquivos de exemplo práticos em um único arquivo compactado executando o comando zip -r sample.zip file1.txt config.cfg.

Visualizar o Conteúdo sem Descompactar (unzip -l)
Para acessar o diretório de trabalho onde o arquivo prático está localizado, execute o comando cd ~/unzip-demo.

O comando unzip -l sample.zip permite verificar previamente a lista de arquivos contidos no arquivo compactado, bem como o tamanho e a data de modificação de cada um, sem de fato descompactá-los.
Isso é bastante útil para checar com segurança a estrutura interna e o espaço em disco necessário antes de extrair arquivos grandes.

Descompactar em um Diretório Específico e Controlar a Sobrescrita de Arquivos (unzip -d, -o)
Para acessar o diretório de trabalho onde o arquivo compactado de destino está localizado, execute o comando cd ~/unzip-demo.

Crie um diretório de destino para armazenar separadamente os arquivos descompactados executando o comando mkdir -p ./extracted.

O comando unzip sample.zip -d ./extracted extrai o conteúdo do arquivo compactado para o diretório ./extracted especificado pela opção -d.
É muito útil para organizar e descompactar arquivos em um local específico sem bagunçar o diretório de trabalho atual.

O comando unzip -o sample.zip -d ./extracted força a sobrescrita dos arquivos existentes durante a extração, sem solicitar confirmação ao usuário.
É utilizado principalmente em scripts ou ambientes de automação e implantação contínua para evitar que a execução seja interrompida por confirmações de substituição de arquivos duplicados.

Para confirmar se a extração foi concluída com sucesso no diretório de destino e verificar a lista de arquivos com seus atributos detalhados, execute o comando ls -la ./extracted.

Extrair Apenas Arquivos Específicos
Para acessar o diretório de trabalho onde o arquivo compactado está localizado, execute o comando cd ~/unzip-demo.

Crie o diretório de destino para armazenar separadamente os arquivos extraídos seletivamente executando o comando mkdir -p ./selective.

O comando unzip sample.zip file1.txt -d ./selective extrai apenas o arquivo file1.txt especificado, em vez de descompactar todo o arquivo comprimido.
É extremamente conveniente quando você precisa extrair rapidamente apenas um arquivo de configuração ou de log específico de um arquivo ZIP de grande porte.

Para verificar se apenas o arquivo selecionado foi extraído corretamente, conferindo a lista de arquivos e seus detalhes no diretório de destino, execute o comando ls -la ./selective.

Prevenir Caracteres Coreanos Corrompidos em Arquivos Compactados no Windows (unzip -O CP949)
Para acessar o diretório de trabalho onde o arquivo compactado está localizado, execute o comando cd ~/unzip-demo.

Crie um diretório de destino para armazenar com segurança os arquivos descompactados executando o comando mkdir -p ./korean-test.

O comando unzip -O CP949 sample.zip -d ./korean-test descompacta o arquivo no diretório ./korean-test especificando CP949 (EUC-KR), a codificação padrão de caracteres do ambiente Windows, sem corromper nomes de arquivos em coreano.
Isso resolve com eficiência os problemas de nomes de arquivos truncados ou ilegíveis decorrentes da diferença de conjuntos de caracteres entre os sistemas Windows e Linux.

Para conferir se os arquivos foram descompactados com sucesso no diretório de destino indicado, execute o comando ls -la ./korean-test.

Neste artigo, reunimos dicas práticas essenciais sobre o comando unzip no Linux, cobrindo desde a descompactação básica até a solução de problemas com caracteres corrompidos.
Aproveite bem as opções apresentadas para manipular arquivos compactados de forma eficiente no terminal, sem dores de cabeça com codificação.