Linux / Comando gunzip: descomprimir .gz e preservar a entrada
O comando gunzip descomprime arquivos gzip, normalmente transformando arquivo.gz em arquivo e removendo a entrada comprimida após uma operação bem-sucedida. Use -k para conservar o .gz ou -c para enviar o conteúdo à saída padrão e escolher outro nome com o shell.
No GNU gzip, gunzip executa a descompressão, como gzip -d. A camada gzip e o pacote de arquivos são coisas diferentes: descomprimir .tar.gz deixa um .tar; para recuperar suas pastas e arquivos, use a extração descrita no guia do comando tar.
Sintaxe e preparação
gunzip [opções] arquivo.gz [arquivo.gz...]
Essa linha descreve a sintaxe; substitua os nomes e os trechos entre colchetes pelos argumentos desejados. A implementação instalada e as opções disponíveis podem variar. Consulte man gunzip no sistema em que fará a descompressão.
Trabalhe primeiro com cópias em uma pasta separada, confirme o caminho de entrada e verifique se o nome de saída está livre. Deve haver espaço para o conteúdo descomprimido, que pode ser muito maior que o .gz. Nos exemplos seguintes, report.log.gz é uma entrada já preparada e confiável, e cada exemplo é uma alternativa: o primeiro consome esse arquivo, enquanto os demais precisam de uma nova cópia dele e de uma saída ainda inexistente.
Descomprimir, preservar ou escolher outro destino
Descompressão padrão: o comando abaixo restaura report.log no mesmo diretório. Em uma descompressão normal bem-sucedida, a entrada report.log.gz é removida.
gunzip report.log.gz
Conservar o arquivo comprimido: com -k, o GNU gunzip produz report.log e mantém report.log.gz. Isso permite repetir a conferência ou conservar a cópia comprimida. O nome de saída ainda precisa ser verificado; -k não resolve uma colisão com um report.log existente.
gunzip -k report.log.gz
Gravar com outro nome: -c envia os bytes restaurados à saída padrão e preserva a entrada. O operador > faz o shell criar a saída restored-report.log.
gunzip -c report.log.gz > restored-report.log
O redirecionamento exige cuidado próprio: o shell pode esvaziar um arquivo de saída existente antes de gunzip abrir ou verificar a entrada. Se a entrada estiver ausente ou danificada, a saída pode ficar vazia ou conter dados rejeitados pela verificação. Escolha um nome novo, diferente da entrada, confira as mensagens e o código de saída e não trate a existência do arquivo como prova de sucesso.
Conferir o resultado com um arquivo de teste
Prepare uma pasta de teste e confirme que note.txt e note.txt.gz não existem nela. Execute primeiro printf 'hello\n' > note.txt, que escreve seis bytes: a palavra hello seguida de uma quebra de linha. Depois execute gzip note.txt. Se essa compressão terminar com sucesso, ficará note.txt.gz, sem o arquivo de entrada note.txt. O guia do gzip explica também como preservar a entrada durante a compressão.
gunzip note.txt.gz
ls -l note.txt
O resultado esperado é o reaparecimento de note.txt, com os seis bytes originais, e a remoção de note.txt.gz. Gunzip normalmente não imprime nada quando funciona; ls -l mostra os dados do arquivo restaurado, incluindo seu tamanho. As permissões, o proprietário, a data e a disposição dessa listagem dependem do ambiente, por isso uma linha fixa de saída não serviria para todos os sistemas.
As duas linhas acima não condicionam a listagem ao sucesso da descompressão. Se houver falha e um note.txt antigo existir, ls ainda poderá terminar com sucesso. Para listar somente depois de gunzip retornar zero, use a alternativa gunzip note.txt.gz && ls -l note.txt, com uma nova cópia comprimida de teste. No GNU gzip, o código de saída zero indica sucesso, um indica falha e dois indica aviso; leia também o diagnóstico.
- Confirme o arquivo de entrada, o espaço disponível e um nome de saída livre. Preserve uma cópia se precisar repetir ou desfazer a operação.
- Quando quiser verificar o fluxo sem criar um arquivo descomprimido no disco, execute
gunzip -t report.log.gze confira seu código de saída. Esse teste preserva o.gz. - Escolha a descompressão padrão,
-kou-cconforme precise conservar a entrada ou mudar o destino. - Confira a saída com a ferramenta apropriada ao conteúdo e, quando tiver uma referência confiável, compare os bytes ou um resumo criptográfico conhecido antes de descartar a cópia comprimida.
O teste de integridade do gzip usa, entre outras verificações, o CRC-32, uma verificação de redundância cíclica de 32 bits do conteúdo descomprimido. Isso ajuda a detectar corrupção, mas não autentica o autor nem prova que você recebeu a versão esperada. Um resumo criptográfico ou uma assinatura só ajuda nessa confirmação quando a referência vem de uma fonte confiável. A estrutura do fluxo e do CRC está na especificação do formato gzip, RFC 1952.
Opções principais
| Opção | Finalidade e condição |
|---|---|
-k |
Mantém o arquivo comprimido de entrada durante a descompressão. |
-c |
Envia o conteúdo à saída padrão e mantém a entrada. O redirecionamento e seu destino são responsabilidade do shell. |
-t |
Testa a integridade do fluxo sem criar um arquivo descomprimido no disco; não confirma a identidade de quem o forneceu. |
-l |
Lista informações como tamanhos e proporção. Não substitui a extração nem a comparação com o conteúdo esperado. |
-f |
Força operações, inclusive a substituição de uma saída existente, sem a confirmação normal. Pode destruir dados que você queria preservar. |
Sobrescrita, falhas e limites do formato
Se o destino já existir, não adicione -f apenas para fazer a mensagem desaparecer. O programa pode perguntar sobre a substituição em uma sessão interativa ou recusar a operação sem uma resposta. Prefira outra pasta ou -c com um nome novo. A preservação de entrada por -k ou -c não é uma cópia de segurança da saída que você sobrescrever.
Uma descompressão com erro pode ter produzido bytes antes de detectar o problema. Guarde o arquivo comprimido original, não use uma saída parcial como se estivesse validada e investigue mensagens de formato, truncamento ou CRC. Trocar a extensão de um arquivo para .gz não o transforma em gzip, e repetir com força não repara seus dados.
Um fluxo gzip pode conter membros comprimidos concatenados. Gunzip descomprime esses membros em sequência; isso não oferece um índice de arquivos e pastas para extração independente como o tar. No GNU gzip, o tamanho descomprimido e o CRC mostrados por -l em um fluxo com vários membros se referem apenas ao último membro, portanto não use essa listagem como inventário completo nem como medida suficiente do espaço necessário.
Na verificação de 29 de outubro de 2026 com GNU gzip 1.14 e Bash 5.3.9 do Git for Windows, os três modos restauraram exatamente os bytes de arquivos controlados. O modo padrão removeu o .gz, enquanto -k e -c o conservaram. O exemplo de note.txt recuperou os seis bytes esperados. Esses resultados não verificam permissões nativas do Linux nem a preservação de todos os metadados.
Em testes adicionais com cópias descartáveis, uma saída existente foi preservada quando gunzip recusou a operação sem força. Um CRC alterado fez -t e -c retornarem falha, embora o redirecionamento de -c já tivesse escrito dados. Com entrada ausente, o shell deixou vazia uma saída descartável existente. Também foi reproduzido o caso em que a primeira das duas linhas falha e ls termina com zero: o sucesso da última linha, sozinho, não confirma a descompressão.
Pergunta frequente
Gunzip backup.tar.gz extrai todos os arquivos do pacote?
Não. Normalmente resta backup.tar, porque gunzip remove apenas a camada de compressão. Para conferir os nomes dos membros antes de extrair, use tar -tzf backup.tar.gz enquanto ainda tiver o arquivo comprimido, ou tar -tf backup.tar depois da descompressão. A extração exige tar e um destino adequado; consulte o guia do tar ligado na introdução para separar a pasta de restauração e evitar colisões.
Documentação oficial
O manual oficial do GNU gzip descreve a descompressão por gunzip, as opções, os códigos de saída e os limites dos membros concatenados. Confira também o manual da implementação instalada antes de depender de uma opção específica.




