Você está na página 1de 7

:: Linux

Compactao e descompactao de arquivos com Tar e gzip


Introduo
O Tar e o gzip so duas ferramentas utilizadas em sistemas operacionais baseados no Unix, como o GNU/Linux, para o "empacotamento" e para a compresso de arquivos, respectivamente. Embora seja perfeitamente possvel usar qualquer desses programas de forma individual, a utilizao de ambos ao mesmo tempo muito comum e til. Sendo assim, que tal aprender a compactar e a descompactar arquivos utilizando Tar e gzip e, conseqentemente, entender o funcionando dos famosos arquivos de extenso tar.gz? isso que voc ver neste artigo. De quebra, voc ainda saber como trabalhar com o compactador bzip2.

Comando Tar
Backup (cpia de segurana) de arquivos uma necessidade antiga. H vrias formas de se fazer isso, mas nos sistemas operacionais baseados no Unix, uma das maneiras mais tradicionais corresponde utilizao da ferramenta Tar, sigla de Tape Archive. O que o Tar faz muito simples de entender: ele "empacota" vrios arquivos em um s, isto , faz com que um nico arquivo contenha vrios outros. Assim, possvel, por exemplo, armazenar em nico arquivo as cpias de documentos existentes na pasta de um usurio. O arquivo resultante de um empacotamento feito com Tar tem, como de se esperar, a extenso .tar (por exemplo, infowester.tar), embora sua utilizao no seja obrigatria (mas recomendada para fins de organizao). Quando for necessrio extrair o contedo existente dentro de um arquivo .tar, naturalmente, basta acionar o programa Tar. Os procedimentos para empacotamento e extrao de arquivos so executados atravs de comandos e parmetros inseridos em terminais (shell). Quando um usurio domina essas instrues, consegue executar tais tarefas de forma gil. Isso se deve principalmente ao fato do Tar manter as propriedades dos arquivos e a estruturas de diretrios originais, facilitando a localizao e a utilizao de cada item aps a extrao. A sintaxe do Tar a seguinte:

tar [parmetros] [nome_do_arquivo_tar] [arquivos_de_origem] Na linha acima, tar o comando. Em parmetros, possvel utilizar vrias opes. Eis as principais: -c - cria um novo arquivo tar; -t - exibe o contedo de um arquivo tar; -p - mantm as permisses originais do(s) arquivo(s); -r - adiciona arquivos a um arquivo tar existente; -f - permite especificar o arquivo tar a ser utilizado; -v - exibe detalhes da operao; -w - pede confirmao antes de cada ao no comando; -x - extrai arquivos de um arquivo tar existente; -z - comprime o arquivo tar resultante com o gzip (visto mais frente); -C - especifica o diretrio dos arquivos a serem armazenados (note que, neste caso, a letra maiscula). O campo nome_do_arquivo_tar especifica qual o nome que o arquivo .tar ter, e o campo arquivos_de_origem define o diretrio ou os arquivos que se tornaro um .tar. Vamos ver alguns exemplos para facilitar a compreenso: tar -cf lendas.tar saci.txt curupira.txt O comando acima cria o arquivo lendas.tar, que contm os arquivos saci.txt e curupira.txt. Aqui, voc deve ter reparado que possvel combinar parmetros. Neste exemplo, isso ocorreu com -c e -f. No exemplo abaixo, o diretrio hardware tem todo o seu contedo compactado no arquivo infowester.tar, s que os detalhes so exibidos graas opo -v: tar -cvf infowester.tar hardware

O exemplo a seguir lista o contedo do arquivo infowester.tar: tar -tf infowester.tar Por sua vez, o comando abaixo faz com que todos os arquivos de infowester.tar

sejam extrados (neste ponto, voc certamente j sabe as funes dos parmetros x, v e f no comando): tar -xvf infowester.tar

J no comando a seguir, apenas o arquivo saci.txt extrado: tar -xvf lendas.tar saci.txt Uma coisa interessante que, se a opo -v for usada duas vezes, detalhes como permisses e data do(s) arquivo(s) apareo: tar -xvvf lendas.tar saci.txt

Comando gzip
A ferramenta Tar, por si somente, serve apenas para juntar vrios arquivos em um s. No entanto, o programa no capaz de diminuir o tamanho do arquivo resultante, isto , de compact-lo. neste ponto que entra em cena o gzip (GNU zip) ou outro compactador de sua preferncia. Se utilizado isoladamente, o gzip faz uso da seguinte sintaxe: gzip [parmetros] [nome_do_arquivo] Entre os parmetros disponveis, tem-se: -c - extrai um arquivo para a sada padro; -d - descompacta um arquivo comprimido; -l - lista o contedo de um arquivo compactado; -v - exibe detalhes sobre o procedimento; -r - compacta pastas; -t testa a integridade de um arquivo compactado. Ainda no que se refere s opes de parmetros, possvel utilizar uma numerao

de 1 a 9 para indicar o nvel de compactao. Quanto maior o nmero, maior ser a compactao do arquivo. Eis alguns exemplos para facilitar a compreenso do comando gzip: gzip infowester.odt O comando acima compacta o arquivo infowester.odt. Note que os arquivos compactados com gzip recebem a extenso .gz. gzip -d infowester.odt.gz O comando acima descompacta o arquivo infowester.odt.gz. gzip -1 colorado.ods O procedimento acima faz com que o arquivo colorado.ods seja compactado considerando o nvel mais baixo de compreenso.

Usando Tar e gzip


O uso conjunto dos comandos Tar e gzip um belo exemplo de coerncia da frase "a unio faz a fora". Muitas vezes, necessrio juntar arquivos e, ao mesmo, fazer com que o arquivo resultante, alm de conter todos os outros, tambm seja compactado. a que entra em cena a capacidade de juntar arquivos do Tar com a capacidade de compactao do gzip. Para utilizar ambos ao mesmo tempo, o procedimento muito simples: basta aplicar o comando tar com o parmetro -z. O arquivo resultante desse procedimento receber a extenso .tar.gz. Neste ponto, vemos um comando bastante usado na instalao de programas e bibliotecas: tar -zxvf nome_do_arquivo.tar.gz Se voc estiver lendo este artigo deste o comeo, certamente j sabe o que o comando acima faz, mesmo assim, vamos explicar para no restar dvidas: a letra z deve ser usada porque o arquivo foi compactado com gzip; a letra x indica que o comando deve extrair o arquivo (portanto, a referida instruo serve para extrair e descompactar o arquivo tar.gz); a letra v exibe os detalhes do procedimento; por fim, a letra f especifica qual arquivo ser usado nesta atividade. Suponha, agora, que voc queira deixar em um nico pacote os arquivos marvin.png, zaphod.txt e trillian.odt. O arquivo resultante ter o nome guia.tar.gz. Eis o comando que utilizaremos para este exemplo: tar -zcvf guia.tar.gz marvin.png zaphod.txt trillian.odt

Note que o comando muito parecido com o procedimento de descompactao do exemplo anterior, com a diferena de que o parmetro c foi utilizado no lugar de x, pois o objetivo aqui criar um arquivo novo, e no fazer a extrao de um j existente. Para extrair o contedo desse arquivo, basta executar o comando abaixo (tambm exibido na figura acima): tar -zxvf guia.tar.gz Se voc quiser extrair apenas um dos arquivos contidos no arquivo compactado, basta indic-lo no final do comando. Por exemplo, suponha que voc queira extrair o arquivo marvin.png de guia.tar.gz. Eis o que voc deve digitar: tar -zxvf guia.tar.gz marvin.png

Usando Tar e bzip2


A combinao Tar e gzip muito utilizada, mas no a nica. Tambm possvel utilizar o algoritmo de compresso bzip2, cuja extenso .bz2. H quem prefira esta opo pela caracterstica do bzip2 de gerar arquivos menores que o gzip, embora o programa o faa de maneira mais lenta que este ltimo.

Para utilizar Tar com bzip2, basta utilizar o parmetro -j. Por exemplo: tar -jcvf frases.tar.bz2 confucio.html nietzsche.html Para extrair o contedo arquivo, o comando : tar -jxvf frases.tar.bz2

Caso queira utilizar o bzip2 isoladamente, a sintaxe : bzip2 [parmetros] [nome_do_arquivo] Os parmetros so praticamente os mesmos do gzip, por isso no sero mostrados aqui. Eis um comando de exemplo: bzip2 -d vivaldi.htm.bz2 Esse comando descompacta o arquivo vivaldi.htm.

Finalizando
Atualmente, possvel encontrar interfaces grficas que permitem manipular as opes provenientes dos programa Tar, gzip, bzip2 e suas possveis combinaes de maneira simples, apenas com o uso do mouse. No entanto, entender como utilizar esses comandos essencial para quando somente a linha de comando estiver disponvel e, claro, importante tambm para que voc possa compreender perfeitamente o que est sendo feito. por isso que este artigo foi escrito. Caso voc queira mais detalhes sobre esses programas, digite em um terminal os comandos man tar, man gzip ou man bzip2. Se preferir, visite os sites que serviram de referncia para este artigo: www.gnu.org/software/tar; www.gzip.org; focalinux.cipsga.org.br; en.wikipedia.org/wiki/Tar_(file_format);

- en.wikipedia.org/wiki/Bzip2; - bzip.org. Escrito por Emerson Alecrim - Publicado em 10/6/2008 - Atualizado em 10/6/2008

Os artigos desenvolvidos pelo InfoWester esto sob uma Licena Creative Commons http://creativecommons.org/licenses/by-nc-sa/3.0/br/ InfoWester 2011 - Propagando conhecimento - www.infowester.com