Skip to main content

Usando o 'bzip2' para compactar arquivos do Linux

Curso de Performance Web Aula 08 Compactação de arquivos HTML,CSS e JavaScript (Abril 2025)

Curso de Performance Web Aula 08 Compactação de arquivos HTML,CSS e JavaScript (Abril 2025)
Anonim

A única coisa que todos sabem sobre o Linux é que há muita variedade. Existem centenas de distribuições Linux, com dezenas de ambientes de desktop, vários pacotes de escritório, pacotes gráficos e pacotes de áudio.

Outra área em que o Linux oferece variedade é quando se trata de compactar arquivos.

Os usuários do Windows já saberão o que é um arquivo zip e, portanto, os comandos "zip" e "unzip" serão usados ​​para compactar e descompactar arquivos no formato "zip".

Outro método para compactar arquivos é usar o comando "gzip" e para descompactar um arquivo com uma extensão "gz" você pode usar o comando "gunzip".

Neste guia, mostrarei outro comando de compactação chamado "bzip2".

Por que usar 'bzip2' em 'gzip'?

O comando "gzip" usa o método de compactação LZ77. A ferramenta de compressão "bzip2" usa o algoritmo "Burrows-Wheeler".

Então, qual método você deve usar para compactar um arquivo?

O teste executa cada comando usando as configurações de compactação padrão e você verá que o comando "bzip2" fica no topo quando se trata de reduzir o tamanho do arquivo.

No entanto, se você analisar o tempo gasto para compactar o arquivo, isso levará muito mais tempo.

Vale a pena apontar a terceira coluna no gráfico que é rotulado como "lzmash". Isso equivale a executar o comando "gzip" com o nível de compactação definido como "-9" ou colocá-lo em inglês, "mais compactado".

O comando "lzmash" demora mais que o comando "gzip" por padrão, mas o arquivo é reduzido consideravelmente e é menor que o equivalente a "bzip2". Também vale a pena notar que leva menos tempo para isso.

Sua decisão, portanto, será quanto você deseja compactar os arquivos e por quanto tempo você está disposto a esperar que isso aconteça.

De qualquer forma, o comando "gzip" é um pouco melhor em ambos os casos.

Compactando arquivos usando 'bzip2'

Para compactar um arquivo usando o formato "bzip2", execute o seguinte comando:

bzip2 nome do arquivo

O arquivo será compactado e agora terá a extensão ".bz2"

O "bzip2" sempre tentará compactar o arquivo, mesmo que o arquivo fique maior como resultado. Isso pode acontecer quando você está compactando um arquivo que já foi compactado.

Se você tentar compactar um arquivo que resultará no arquivo com o mesmo nome de um arquivo compactado existente, ocorrerá um erro.

Por exemplo, se você tiver um tipo de arquivo chamado "arquivo1" e a pasta já tiver um arquivo chamado "arquivo1.bz2", ao executar o comando "bzip", você verá a seguinte saída:

bzip2: arquivo de saída file1.bz2 já existe

Como descompactar arquivos

Há muitas maneiras diferentes de descompactar arquivos com a extensão "bz2".

Você pode usar o comando "bzip2" da seguinte maneira:

bzip2 -d filename.bz2

Isso descompactará o arquivo e removerá a extensão "bz2".

Se, ao descomprimir o arquivo, fizer com que um arquivo com o mesmo nome seja sobrescrito, você verá o seguinte erro:

bzip2: O nome do arquivo do arquivo de saída já existe

Uma maneira mais agradável de descompactar arquivos com a extensão "bz2" é usar o comando "bunzip2". Com este comando, você não precisa especificar nenhum comutador como mostrado abaixo:

bunzip2 filename.bz2

O comando "bunzip2" é executado exatamente da mesma maneira que o comando "bzip2" com a opção menos d (-d).

O comando "bunzip2" pode extrair qualquer arquivo válido que tenha sido compactado usando "bzip" ou "bzip2". Além de descomprimir arquivos comuns, ele também pode descompactar arquivos tar que foram compactados usando o comando "bzip2".

Por padrão, os arquivos tar compactados usando o comando "bzip2" terão a extensão ".tbz2". Quando você descomprime este arquivo usando o comando "bunzip2" o nome do arquivo se torna "filename.tar".

Se você tiver um arquivo válido que tenha sido compactado com "bzip2", mas tem uma extensão diferente de "bzip2", ele descompactará o arquivo, mas adicionará a extensão ".out" ao final do arquivo. Por exemplo, "myfile.myf" se tornará "myfile.out".

Como forçar arquivos a serem compactados

Se você quiser que o comando "bzip2" comprima um arquivo independentemente de um arquivo com a extensão "bz2" já existir, então você pode usar o seguinte comando:

bzip2 -f myfile

Se você tiver um arquivo chamado "myfile" e outro chamado "myfile.bz2", o arquivo "myfile.bz2" será sobrescrito quando "myfile" for compactado.

Como manter os dois arquivos

Se você quiser manter o arquivo que está compactando e o arquivo compactado, use o seguinte comando:

bzip2 -k myfile

Isso manterá o arquivo "myfile", mas também irá compactá-lo e criar um arquivo "myfile.bz2".

Você também pode usar a opção menos k (-k) com o comando "bunzip2" para manter o arquivo compactado e o arquivo descompactado ao descompactar o arquivo.

Teste a validade de um arquivo "bz2"

Você pode testar se um arquivo é compactado com o mecanismo de compactação "bzip2" usando o seguinte comando:

bzip2 -t filename.bz2

Se o arquivo for válido, nenhuma saída será retornada, mas se o arquivo não for válido, você receberá uma mensagem dizendo isso.

Use menos memória ao compactar arquivos

Se o comando "bzip2" estiver usando muitos recursos ao compactar um arquivo, você poderá reduzir o impacto especificando a opção menos s (-s) da seguinte maneira:

bzip2 -s filename.bz2

Observe que demora mais para compactar um arquivo usando essa opção.

Obter mais informações ao compactar arquivos

Por padrão, quando você executa os comandos "bzip2" ou "bunzip2", você não recebe nenhuma saída e o novo arquivo é exibido.

Se você quiser saber o que está acontecendo ao compactar ou descompactar um arquivo, você pode obter uma saída mais detalhada especificando a opção menos v (-v) da seguinte maneira:

bzip2 -v nome do arquivo

A saída aparecerá da seguinte maneira:

nome do arquivo: 1.172: 1 6,872 bits / byte 14,66% salvo 50341 em 42961

As partes importantes são a porcentagem salva, o tamanho da entrada e o tamanho da saída.

Recuperar Arquivos Quebrados

Se você tiver um arquivo "bz2" quebrado, o programa a ser usado para tentar recuperar os dados é o seguinte:

bzip2recover filename.bz2