Linux: compactando e descompactando arquivos com o tar
Introdução: Linux — compactando e descompactando arquivos com o tar
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 projetos.tar.gz Projetos/
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 projetos.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.
[
Você pode aprender mais sobre esse e outro assunto na nossa formação Linux Essentials.