Básico de zip e unzip: Arquivos Multiplataforma no Linux
O que você vai conseguir fazer
- Compactar arquivos e diretórios com `zip -r`
- Inspecionar o conteúdo com `unzip -l` antes de extrair
- Escolher o destino da extração e lidar com a pergunta de sobrescrita
Pré-requisitos (leia estes primeiro)
O que você vai aprender
Conclusão: Compacte com zip, extraia com unzip. Adicione inspeção de conteúdo e uma correção para nomes corrompidos, e você estará pronto para trocar arquivos com usuários do Windows.
- Usar
zippara compactar arquivos e diretórios em um .zip - Usar
unzippara extrair um .zip (inclusive os criados no Windows) - Inspecionar o conteúdo antes de extrair, com segurança
- Saber onde os arquivos caem e quando são sobrescritos
Para quem é: leitores à vontade com comandos básicos de arquivo que precisam trocar arquivos com o Windows.
As palavras usadas aqui (organizadas antes)
- Compactar: deixar um arquivo menor.
- Extrair / descompactar: voltar ao conteúdo original. As duas palavras querem dizer quase a mesma coisa; este artigo usa "extrair".
- Arquivo compactado: vários arquivos reunidos em um só, ou o formato que faz isso. O
.zipé um tipo desses. - DiretórioUm local que organiza arquivos. É a mesma ideia da "pasta" do Windows ou macOS. atual: onde você está agora. Confira com
pwd. É o destino padrão da extração. ~(til): forma curta para o seu diretório home, o espaço que pertence a você. Equivale a/home/usuario.
Introdução: Um arquivo zip de um usuário Windows
Conclusão: O Windows usa ZIP por padrão. Com zip / unzip no Linux, os dois lados podem trocar arquivos compactados.
report.zip. Consigo abrir no Linux?.zip é exatamente o que o Windows cria quando você clica com o botão direito e escolhe "compactar". No Linux você abre com unzip e cria com zip.tar que aprendemos antes?tar (.tar.gz) é o que o pessoal de Linux usa entre si. A força do .zip é que o Windows abre nativamente. Então lembre: "vai falar com Windows? use zip".1. O que são zip / unzip e como diferem do tar?
Conclusão: O zip agrupa e compacta em um passo só. Como o Windows suporta nativamente, zip é a escolha segura quando o outro lado usa Windows.
zip e tar.| Formato | Melhor para | Observação |
|---|---|---|
.zip |
Trocar com o Windows | O Windows abre nativamente |
.tar.gz |
Entre Linux / MacUm modelo de controle de acesso aplicado por regras fixas em todo o sistema (Mandatory Access Control). | Preserva permissões com precisão |
Na dúvida: use zip para Windows e tar.gz para Linux / Mac. Essa regra única já basta para começar.
zip faz "agrupar" e "compactar" em um comando só, enquanto o tar apenas agrupa e se junta ao gzip para compactar. Mas não se preocupe com isso no começo.2. Instalar zip / unzip
Conclusão: O Ubuntu pode não trazer zip / unzip por padrão. Instale uma vez com
sudo apt install zip unzip.
unzip: command not found.$ sudo apt install zip unzip
zip e unzip juntos?zip (quem cria) e unzip (quem abre) são pacotes separados, então instalar os dois cobre tudo. Para conferir se estão instalados, use which.$ which zip unzip
/usr/bin/zip /usr/bin/unzip
Duas linhas significam que os dois estão instalados. Uma linha só significa que o outro ainda não está.
3. Compactar com zip
Conclusão: Para arquivos,
zip nome.zip arquivo; para diretórios, adicione-rcomo emzip -r nome.zip dir.
# Crie um diretorio de pratica e entre nele $ mkdir -p ~/zip-practice $ cd ~/zip-practice # Crie arquivos de pratica $ echo "id,name" > data.csv $ echo "memo" > memo.txt
Todos os exemplos deste artigo rodam dentro de ~/zip-practice. Assim nada do que você já tinha entra na jogada.
3-1. Agrupar arquivos
$ zip report.zip data.csv memo.txt
adding: data.csv (deflated 62%) adding: memo.txt (deflated 20%)
deflated 62%?report.zip, é o arquivo que será criado, e os demais são os arquivos que entram nele.Onde ele cai e o que acontece com um zip existente
- O
report.zipé criado no diretório em que você está agora. Confira compwd - Se já existir um zip com esse nome, o
zipadiciona e atualiza dentro dele. Ele não recomeça do zero - Para trocar o conteúdo, apague o zip antigo antes ou escolha outro nome
3-2. Compactar um diretório inteiro (-r é obrigatório)
$ zip -r project.zip project/
A pegadinha principal: ao compactar um diretório, -r (recursivo — inclui tudo que está dentro) é obrigatório. Sem -r, você recebe um zip quase vazio, sem conteúdo.
zip backup.zip myfolder e depois apaguei a pasta original. Quando abri o zip, não tinha nada dentro.-r. Diretórios se agrupam com zip -r backup.zip myfolder/.unzip -l antes de apagar qualquer coisa. Com essa checagem, você nunca descobre tarde demais.tar também tratava diretórios de forma especial.zip, o -r cumpre esse papel. Faça disso um reflexo: agrupar diretório significa adicionar -r.4. Extrair com unzip
Conclusão:
unzip nome.zipextrai no diretório atual. Use-dpara definir um destino e não espalhar arquivos.
4-1. Extrair no diretório atual (básico)
$ unzip report.zip
Archive: report.zip inflating: data.csv inflating: memo.txt
inflating significa "inflar", ou seja, está extraindo.deflate (encolher), extrair é inflate (inflar). São um par.4-2. Definir o diretório de destino (-d evita acidentes)
$ unzip report.zip -d ~/work/report
Evite bagunça: sem destino, o unzip despeja os arquivos bem onde você está. Para arquivos com muito conteúdo, apontar -d para um diretório dedicado mantém tudo organizado. Se o diretório não existir, o unzip cria para você. Se o zip contiver um diretório, ele é criado dentro do lugar informado no -d.
4-3. Quando já existe um arquivo com o mesmo nome
A pergunta da sobrescrita, antes de tudo
Quando o unzip encontra um arquivo com o mesmo nome, ele para e pergunta.
replace data.csv? [y]es, [n]o, [A]ll, [N]one, [r]ename:
ysobrescreve este;Asobrescreve tudonmantém este;Nmantém tudo (não sobrescreve nada)rextrai com outro nome- O conteúdo sobrescrito não volta. Nada vai para a lixeira
- Na dúvida, responda
Ne extraia de novo em outro diretório com-d - O
zipe ounzipnão rodam no terminalUm programa interativo que interpreta os comandos digitados e os executa. virtual deste site. Execute-os no terminal da sua máquina - Pratique somente dentro do
~/zip-practicecriado na seção 3. Nunca pratique onde estão os seus arquivos importantes
Para pular a pergunta, escolha uma destas duas formas. Aprenda primeiro a mais segura.
# Lado seguro: nunca sobrescrever; manter os arquivos existentes $ unzip -n report.zip # Lado arriscado: sobrescrever tudo sem perguntar $ unzip -o report.zip
O -o não pergunta nada. Usar -o sem olhar o conteúdo antes faz arquivos de mesmo nome sumirem em silêncio. Confira sempre com unzip -l antes de usar -o. Na dúvida, use -n ou -d.
5. Inspecionar o conteúdo antes de extrair
Conclusão:
unzip -l nome.ziplista o conteúdo sem extrair. Sempre inspecione um zip desconhecido antes de abrir.
-l (list) e você vê só a lista de arquivos, sem extrair.$ unzip -l report.zip
Archive: report.zip
Length Date Time Name
--------- ---------- ----- ----
1024 2026-06-05 10:00 data.csv
256 2026-06-05 10:00 memo.txt
--------- -------
1280 2 files
Length é o tamanho do arquivo em bytes, e Name é o nome guardado dentro dele.
Por segurança: para um zip de alguém que você não conhece, sempre confira o conteúdo com unzip -l antes de extrair. Ficar de olho em caminhos estranhos como /etc/... ou arquivos desconhecidos é um hábito que evita acidentes.
6. Quando os nomes de arquivo saem corrompidos
Conclusão: Se nomes não ASCII de um zip do Windows aparecem corrompidos, no Ubuntu use
unzip -O CP932 nome.zippara extrair corretamente.
\203t\202@...!O unzip do Ubuntu e do Debian tem a opção -O para indicar a codificação dos nomes.
$ unzip -O CP932 windows.zip
Por que isso resolve: -O CP932 diz ao unzip que "os nomes deste zip estão escritos em CP932". O unzip então converte corretamente para UTF-8 e os nomes aparecem certos. Funciona também para inspecionar: unzip -O CP932 -l windows.zip.
-O CP932 resolveu!-O é uma opção prática da versão do unzip no Ubuntu / Debian. Alguns sistemas não têm, mas se você lida com Windows, vale muito conhecer.7. Trabalhando com zips protegidos por senha
Conclusão:
zip -ecria um zip criptografado, e o unzip pede a senha na extração. A criptografia clássica do zip é fraca — não confie demais.
7-1. Compactar com senha
$ zip -e secret.zip data.csv
Enter password: Verify password: adding: data.csv (deflated 62%)
7-2. Extrair um zip protegido por senha
$ unzip secret.zip
A senha será pedida; digite para extrair.
Não confie demais: a criptografia tradicional do zip não é forte. Para arquivos realmente sensíveis, não dependa só da senha do zip — considere uma ferramenta de criptografia dedicada ou um canal de transferência seguro. Note também que esquecer a senha tranca o conteúdo para sempre, então guarde uma cópia em lugar seguro.
Prática: coloque a mão na massa
Conclusão: Percorra o fluxo completo: compactar, inspecionar e extrair para um destino escolhido.
Trabalhe dentro do ~/zip-practice criado na seção 3. Confirme onde você está com pwd antes de começar.
$ pwd
/home/user/zip-practice
Exercício 1: compactar um diretório
Tarefa: crie um diretório chamado mydata com alguns arquivos dentro e compacte em mydata.zip.
Ver Dica 1 (Direção)
Agrupar um diretório exige uma instrução que diga "inclua tudo que está dentro". Sem ela, o zip sai quase vazio.
Ver Dica 2 (Nome do comando)
Prepare com mkdir e touch, depois agrupe com zip -r.
Ver Resposta
$ mkdir mydata $ touch mydata/a.txt mydata/b.txt $ zip -r mydata.zip mydata/
adding: mydata/ (stored 0%) adding: mydata/a.txt (stored 0%) adding: mydata/b.txt (stored 0%)
Dois arquivos nas linhas adding: indicam sucesso. A ordem pode variar conforme o sistema.
Exercício 2: inspecionar e depois extrair
Tarefa: liste o conteúdo de mydata.zip e extraia em um diretório chamado extract.
Ver Dica 1 (Direção)
Primeiro olhe dentro sem abrir. Depois mande os arquivos para outro lugar, e não para onde você está.
Ver Dica 2 (Nome do comando)
Inspecione com unzip -l e defina o destino com unzip -d.
Ver Resposta
$ unzip -l mydata.zip $ unzip mydata.zip -d extract $ ls extract/mydata
a.txt b.txt
O extract é criado automaticamente se não existir. Os arquivos caem em extract/mydata/, porque — como mostrou o adding: mydata/a.txt do Exercício 1 — o zip carrega o nome de diretório mydata/ dentro dele. O -d decide onde desempacotar; a estrutura interna do zip é reproduzida como está.
Erros comuns e correções
Conclusão: Quatro clássicos — esquecer -r, command not found, extração espalhada e nomes corrompidos. Aprenda cada causa com a correção.
Erro 1: compactei um diretório mas está vazio
zip backup.zip myfolder mas quase nada entrou.-r. Agrupe diretórios com zip -r backup.zip myfolder/. Depois olhe dentro com unzip -l.Erro 2: unzip: command not found
unzip e apareceu command not found.sudo apt install unzip. Para criar zips, precisa também do pacote zip.Erro 3: a extração baguncou meu diretório atual
unzip espalha onde você está, a menos que você diga outra coisa. Da próxima vez use unzip xxx.zip -d destino/. Rodar unzip -l antes também ajuda.Erro 4: nomes de arquivo corrompidos
unzip -O CP932 xxx.zip costuma resolver. O Windows guardou esses nomes em CP932.Resumo em Três Linhas
Conclusão: Agrupe com zip -r, espie com unzip -l e extraia com segurança usando unzip -d.
- Agrupe diretórios com
zip -re depois conte o conteúdo comunzip -l - A extração se espalha no diretório atual por padrão. Escolha o destino com
unzip -d destino/ - Em caso de nome repetido o
unzippergunta. Na dúvida respondaNe extraia em outro lugar
Padrões para copiar e colar
# Criar (diretorios exigem -r) zip -r archive.zip dir/ # Inspecionar (confira antes de extrair) unzip -l archive.zip # Abrir (sem bagunca) unzip archive.zip -d destino/ # Nomes corrompidos (Ubuntu / Debian) unzip -O CP932 windows.zip