Linux / Comando bunzip2: descomprimir .bz2 e manter a cópia
O comando bunzip2 descomprime arquivos .bz2 e, em uma operação normal bem-sucedida, substitui a entrada comprimida pelo arquivo restaurado. Use -k para conservar o .bz2 ou -c para enviar o conteúdo à saída padrão sem criar automaticamente um arquivo com o nome derivado da entrada.
Bunzip2 executa a descompressão do bzip2, como bzip2 -d. Normalmente, sample.txt.bz2 se torna sample.txt pela remoção do sufixo. Descomprimir .tar.bz2 remove apenas a camada bzip2 e deixa um arquivo tar; a recuperação de suas pastas e membros exige a extração pelo comando tar.
Sintaxe e preparação
bunzip2 [opções] arquivo.bz2 [arquivo.bz2...]
Essa linha descreve argumentos possíveis, não um comando para copiar literalmente. Substitua os nomes pelos seus arquivos e consulte man bunzip2 na máquina em que trabalhará, pois a implementação instalada e suas opções podem variar.
Comece com uma cópia em uma pasta separada, confirme o caminho de entrada, o espaço disponível para os dados descomprimidos e um nome de saída livre. Os exemplos com data.csv.bz2 são alternativas: a descompressão padrão consome esse arquivo; para experimentar outro modo, prepare outra cópia e evite reutilizar um destino existente.
Restaurar, preservar ou visualizar
Descompressão padrão: o comando abaixo produz data.csv e remove data.csv.bz2 depois da descompressão normal bem-sucedida. Confira o destino antes de executar.
bunzip2 data.csv.bz2
Conservar a entrada comprimida: -k mantém data.csv.bz2 e cria data.csv. Essa opção conserva a entrada, mas não autoriza sobrescrever uma saída antiga nem preserva o conteúdo de um destino que você decidir substituir.
bunzip2 -k data.csv.bz2
Visualizar o início de um arquivo de texto: -c envia os dados descomprimidos à saída padrão, e o pipe | os entrega a head. Sem outras opções, head mostra as primeiras dez linhas; o .bz2 é mantido.
bunzip2 -c data.csv.bz2 | head
Essa visualização não valida a recuperação completa. Head pode encerrar a leitura depois das primeiras linhas, interrompendo a escrita de bunzip2 antes de ele terminar o fluxo. Além disso, no Bash sem pipefail, o código do pipeline normalmente é o do último comando: head pode retornar zero mesmo quando bunzip2 apresenta erro. Confira o arquivo inteiro separadamente com bunzip2 -t data.csv.bz2; a regra dos códigos de pipeline está no manual de pipelines do Bash.
Para gravar todo o conteúdo em outro nome, use bunzip2 -c data.csv.bz2 > restored-data.csv, escolhendo uma saída livre e diferente da entrada. O shell pode esvaziar um arquivo existente por causa de > antes de bunzip2 verificar os dados, e uma falha ainda pode deixar uma saída vazia ou parcial. Confira o diagnóstico e o código de saída antes de utilizar o resultado.
Preparar um teste e conferir a recuperação
Em uma pasta de teste, confirme que note.txt e note.txt.bz2 ainda não existem. Execute printf 'hello\n' > note.txt, que escreve seis bytes: hello e uma quebra de linha. Depois execute bzip2 note.txt; se a compressão terminar com sucesso, ficará apenas note.txt.bz2. O guia do bzip2 explica também como manter a entrada durante a compressão.
bunzip2 note.txt.bz2
ls -l note.txt
O resultado esperado é note.txt novamente presente, com os seis bytes originais, e a remoção da entrada comprimida. Bunzip2 normalmente não imprime nada quando funciona; ls -l mostra o arquivo restaurado. A aparência da listagem e seus campos de permissões, proprietário e data dependem do ambiente.
As duas linhas não condicionam a listagem ao sucesso da descompressão. Um note.txt antigo pode fazer ls terminar com zero depois de bunzip2 falhar. Confira o código de bunzip2 antes de continuar ou, com uma nova cópia de teste, use bunzip2 note.txt.bz2 && ls -l note.txt para listar somente depois de um retorno zero. Se precisar conservar o comprimido, use -k, ou recupere para outro nome com -c.
- Confirme a entrada, o espaço necessário e a ausência de uma saída com dados que você precisa preservar.
- Para testar o fluxo antes de criar um arquivo restaurado, execute
bunzip2 -t data.csv.bz2e confira o código e o diagnóstico. A entrada comprimida é mantida. - Escolha o modo padrão,
-kou-ce verifique o resultado de toda a descompressão, sem usar a visualização com head como prova. - Compare o conteúdo recuperado com uma referência confiável, usando comparação de bytes ou um resumo criptográfico conhecido. Conserve uma cópia ou um backup independente quando precisar poder repetir a restauração.
Na implementação descrita no manual oficial, zero indica término normal, um indica problema de ambiente ou de entrada e saída, dois indica dados comprimidos corrompidos e três indica erro interno de consistência. O formato usa verificações de redundância cíclica de 32 bits, chamadas CRC, para detectar corrupção. Elas não autenticam o fornecedor nem identificam por si só a versão esperada; um resumo ou uma assinatura precisa ser comparado com uma referência obtida por um meio confiável.
Opções principais
| Opção | Finalidade e condição |
|---|---|
-k |
Conserva o arquivo comprimido de entrada durante a descompressão. |
-c |
Escreve os dados descomprimidos na saída padrão e mantém a entrada. O destino de um redirecionamento deve ser conferido separadamente. |
-f |
Permite substituir uma saída existente. Não repara um arquivo comprimido danificado. |
-v |
Exibe mais informações sobre o processamento. |
-s |
Usa um método de descompressão com menor necessidade de memória, com possível custo de velocidade. |
Conflitos, pouca memória e formatos diferentes
Bunzip2 normalmente recusa uma saída que já existe; não conte com uma pergunta de confirmação para evitar a perda de dados. Antes de usar -f, preserve o destino antigo ou escolha outro nome. A opção de força também não deve ser usada como tentativa de reparar corrupção. Para nomes alternativos, -c é útil, mas continua exigindo cuidado com o redirecionamento do shell.
Quando a memória disponível for uma limitação, consulte -s no manual da versão instalada. Essa opção troca o método de descompressão para reduzir sua necessidade de memória; não reduz o tamanho final dos dados restaurados nem elimina a necessidade de espaço em disco. A conveniência e o tempo de processamento dependem do arquivo e do ambiente.
Bunzip2 não é um extrator de arquivos ZIP e não extrai diretamente os membros de .tar.bz2. Para um pacote tar confiável, confira antes os membros com tar -tjf backup.tar.bz2 e escolha uma pasta de restauração separada para a extração. Para esse exemplo, crie uma pasta nova com mkdir restore e extraia com tar -xjf backup.tar.bz2 -C restore. Uma listagem é útil para planejar o destino, mas não torna um pacote desconhecido confiável.
Na verificação de 29 de outubro de 2026 com bzip2/bunzip2 1.0.8 e Bash 5.3.9 do Git for Windows, a descompressão padrão restaurou os bytes e removeu a entrada; -k e a recuperação com -c preservaram o comprimido. O teste de note.txt recuperou os seis bytes esperados, e o modo -s também restaurou os dados controlados sem diferenças. Não foram medidos o uso de memória nem o desempenho, e esses testes não verificam permissões nativas do Linux ou todos os metadados.
Em um texto de teste maior, o pipeline com head mostrou dez linhas, mas bunzip2 retornou um erro de entrada e saída enquanto head retornou zero; com pipefail, o pipeline retornou um nesse ambiente. Esse resultado depende também do tamanho e do buffering, por isso não é uma saída fixa para todo arquivo. Um CRC alterado foi rejeitado por -t com código dois, e uma colisão sem força preservou a saída antiga. Também foi reproduzido o caso em que ls retorna zero após a primeira linha falhar.
Pergunta frequente
O que resta quando bunzip2 descomprime um arquivo .tar.bz2?
Resta um arquivo .tar, sem a camada bzip2. Se você já descomprimiu backup.tar.bz2, confira os membros com tar -tf backup.tar. Crie uma pasta nova, por exemplo com mkdir restore-plain, e extraia com tar -xf backup.tar -C restore-plain; não é necessário procurar novamente a camada bzip2. Se ainda tiver o pacote comprimido, tar pode trabalhar diretamente com ele por meio da opção -j. O guia do tar ligado na introdução detalha a criação e a extração com os cuidados de destino.
Documentação oficial
O manual oficial do bzip2 e bunzip2 descreve as opções de descompressão, os códigos de retorno, a recusa de sobrescrita e o modo de menor uso de memória. Consulte-o junto com o manual da implementação instalada.




