Compactando e Descompactando arquivos .zip, .rar, tar.gz, bz2, tar.bz2. pelo terminal no Linux

Se você é usuário Linux, quais tipos de extensão, para arquivos compactados, você costuma lidar? Será que é zip? Provavelmente não. Geralmente, encontramos arquivos com a extensão .tar.gz.

Mas por que .tar.gz? O que isso significa? Quando nos deparamos com arquivos do tipo .tar.gz, significa que dois processos ocorreram. O primeiro é o empacotamento dos arquivos no formato .tar. O segundo processo é a compactação no formato gzip.

tar apenas une todos os arquivos em um só. Mas o tar não aplica algoritmos de compactação para que o arquivo resultante fique menor. Para isso utilizamos um outro formato, como o gzip.

A vantagem é que o tar consegue manter as permissões dos arquivos, bem como links diretos e simbólicos, sendo interessante por exemplo para realizar backups.

Utilizamos o comando tar para realizar as compactações. A compactação do diretório Projetos/ ficaria da seguinte forma.

 
$ tar -czf sgev3.tar.gz sgev3/

A primera coisa que você deve ter notado é que, diferente do zip, o comando tar não necessita do -r. Ele age de forma recursiva por padrão. -c é de create, ou seja, para indicar que desejamos criar um arquivo. O -z indica que queremos compactar com gzip. Utilizamos o -f (file), para que o comando crie o arquivo compactado.

Para descompactar, basta utilizar o -x de extract no lugar do -c.


$ tar -xzf sgev3.tar.gz

O comando tar, ao contrário do zip, é silencioso (quiet) por padrão. Se quisermos que ele imprima os detalhes do que está fazendo, basta utilizar o argumento -v (verbose).

Se compararmos os tamanhos do arquivo .zip e do .tar.gz vamos perceber que nesse caso o .tar.gz ficou menor, mas isso não necessariamente irá sempre ocorrer.

Como descompactar arquivos pelo terminal no Linux

Para descompactar estes formatos de arquivos os comandos são simples:

Para descompactar zip:
unzip nomedoarquivo.zip
Para descompactar rar:
unrar x nomedoarquivo.rar
Para descompactar tar:
tar -xvf nomedoarquivo.rar
Para descompactar tar.gz:
tar -vzxf nomedoarquivo.tar.gz
Para descompactar bz2:
bunzip nomedoarquivo.bz2