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.
O 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. 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