Como compactar e descompactar arquivos no Linux via Terminal

Se você precisa lidar com arquivos compactados e não quer depender demais das ferramentas gráficas ou possui acesso apenas à linha de comando, veja como compactar e descompactar arquivos no Linux via Terminal.

Compactar e descompactar arquivos no Linux não é mais um bicho de sete cabeças. Já existem diversas opções de aplicativos gráficos para essa tarefa e os principais ambientes desktop, já oferecem opções nativas de compactação/descompactação.

Como compactar e descompactar arquivos no Linux via Terminal

Apesar disso, é importante conhecer o processo a fundo para não depender demais das ferramentas gráficas, e quando for necessário, usar o terminal para compactar e descompactar arquivos no Linux.

Embora a compactação e a descompactação sejam uma coisa relativamente simples, neste artigo, você verá como compactar e descompactar arquivos da sua distribuição Linux favorita, usando comandos no terminal.

Esse é um artigo destinado a iniciantes, e por isso, mostrará apenas como a compressão e a descompressão são feitas, sem empacotá-las com a maravilhosa ferramenta tar.

Como compactar e descompactar arquivos no Linux via Terminal

Para compressão e descompressão, vamos usar dois pacotes fundamentais, já que eles são provavelmente os formatos mais exigidos e com os quais nos deparamos mais frequentemente quando estamos trabalhando em sistemas semelhantes ao Unix. Estou me referindo ao gzip e bzip2.

Como descompactar e compactar arquivos no Linux via Terminal usando o Gzip

Como compactar e descompactar arquivos no Linux via Terminal
Como compactar e descompactar arquivos no Linux via Terminal usando Gzip

Para compactar com gzip, o formato que vamos usar é o Lempel-Zi (LZ77), e não o ZIP como tal, porque o nome pode causar confusão. O nome gzip vem do GNU ZIP, e foi criado para ser um substituto para o formato ZIP, mas não é o mesmo. É preciso deixar isso bem claro.

Ciente disso, para compactar um arquivo, use o gzip assim:

gzip document.txt

Isso gera um arquivo com o mesmo nome do original, só que com a extensão .gz.

O resultado do exemplo anterior seria um arquivo com o nome document.txt.gz.

Caso você queira modificar o nome de saída para um nome específico, use assim:

gzip -c document.txt> new_name.gz

Para descomprimir um arquivo que já está comprimido, é igualmente simples, embora possamos usar dois comandos diferentes com o mesmo efeito:

gzip -d document.gz
gunzip documento.gz

E coo resultado de qualquer um dos dois comandos, você irá obter o arquivo descompactado sem extensão .gz.

Como compactar e descompactar arquivos no Linux via Terminal usando o bzip2

Como compactar e descompactar arquivos no Linux via Terminal
Como compactar e descompactar arquivos no Linux via Terminal usando o Bzip2

Quanto ao bzip2, ele é semelhante ao programa anterior, mas com um algoritmo de compressão diferente chamado codificação Burrows-Wheeler and Huffman. A extensão que temos neste caso é .bz2.

Para poder compactar um arquivo nesse formato, basta usar:

bzip2 document.txt

Com isso você obtém um document.txt.bz2 compactado. Também é possível mudar o nome da saída com a opção -c:

bzip2 -c document.txt> name.bz2

Para descompressão, use a opção -d:

bzip2 -d documento.bz2

Ou a ferramenta bunzip2:

bunzip2 documento.bz2

Complementando

Como os comandos citados acima não cobrem todas as tarefas de descompactação, confira abaixo os comandos mais comuns:

Para descompactar um arquivo zip na pasta atual, use:

unzip arquivo.zip

Para descompactar um arquivo zip em outra pasta, use:

unzip arquivo.zip -d /pasta/

Para descompactar uma pasta que está dentro do arquivo zip na pasta atual, use:

unzip arquivo.zip linux64/*

Para descompactar uma pasta que está dentro do arquivo zip em outra pasta, use:

unzip arquivo.zip linux64/* -d /pasta/

Para descompactar um arquivo tar.bz2 na pasta atual, use:

tar -xjvf arquivo.tar.bz2

Para descompactar um arquivo tar.bz2 em outra pasta, use:

tar -xjvf arquivo.tar.bz2 -C /pasta/

Para descompactar um arquivo tar.xz na pasta atual, use:

tar xvf arquivo.tar.xz

Para descompactar um arquivo tar.xz em outra pasta, use:

tar xvf arquivo.tar.xz -C /pasta/

Para descompactar um arquivo tar.gz na pasta atual, use:

tar -vzxf arquivo.tar.gz

Para descompactar um arquivo tar.gz em outra pasta, use:

tar -vzxf arquivo.tar.gz -C /pasta/

Conheça melhor os programas usados nesse artigo

Para saber mais sobre o Gzip, use o comando man gzip no terminal.
Para saber mais sobre o Bzip2, use o comando man bzip2 no terminal.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.