Lidando com compactação de arquivos no Linux

O objetivo desse artigo é oferecer uma sucinta explicação sobre o funcionamento das principais ferramentas de compactação do Linux, resumindo praticamente tudo o que você precisa saber sobre compactação de arquivos.

[ Hits: 58.309 ]

Por: Xerxes em 20/06/2008


Compactação de arquivos no Linux



Introdução

Os iniciantes no Linux podem ficar um pouco confusos devido a grande variedade de extensões existentes dos arquivos compactados. Essa confusão pode surgir principalmente quando alguém baixa um arquivo e não sabe que comando usar para extraí-lo.

Vou me esforçar para esclarecer um pouco esse assunto com o objetivo de fornecer alguma ajuda para quem está começando a experimentar o Linux.

Pode parecer um pouco complicado no início, mas esse artigo resume bem praticamente tudo o que você precisa saber sobre compactação de arquivos no Linux. Se ler o artigo com atenção, não importa que formato você encontre, você saberá o que fazer sem precisar ficar buscando ajuda.

Caso não saiba o que é compressão (ou compactação) de arquivos, aí vai uma explicação rápida:

Compressão significa reunir um ou mais arquivos, usando algum programa que irá eliminar as redundâncias de dados desses arquivos, fazendo com que eles ocupem menos espaço. Ao invés de ter vários arquivos, você pode ter um só arquivo comprimido que inclui muitos. Um arquivo comprimido possui extensões que o identificam, por exemplo: .gz e .zip.

TAR - Armazenando vários em um

TAR (Tape ARchive) é um formato muito usado para armazenar vários arquivos em um. Esse processo é chamado de arquivamento.

Para armazenar vários arquivos em um, use um comando, por exemplo:

$ tar -cf nomedoarquivo.tar arquivo1 arquivo2 arquivo3

Este comando combina arquivo1, arquivo2 e arquivo3 e armazena-os em nomedoarquivo.tar. O parâmetro -c indica que queremos criar um arquivo e o parâmetro -f indica que estamos manipulando arquivos.

E para extrair esses arquivos?

Use o comando:

$ tar -xf nomedoarquivo.tar

Para extrair todos os arquivos de nomedoarquivo.tar no diretório atual.

Caso ache difícil lembrar os parâmetros, aqui vai algumas dicas:
  • -c lembra criar
  • -f lembra "Files" (arquivos em inglês)
  • -x lembra eXtrair

Compactação de arquivos

No Linux, bz e gz são formatos comuns de compressão. Normalmente você usa o utilitário bzip2 para criar arquivos bz e o gzip para criar arquivos gz. O bzip é capaz de comprimir mais que o gzip, porém consome mais memória no processo.

Para comprimir um arquivo usando o gzip, use o comando:

$ gzip nomedoarquivo

O resultado é um arquivo chamado nomedoarquivo.gz. Por exemplo, o comando:

$ gzip imagem.jpg

Irá criar o arquivo comprimido imagem.jpg.gz.

Porém, uma observação: ele não irá apenas criar o arquivo gz, mas também irá substituir o arquivo original pelo arquivo comprimido.

Para descompactar o arquivo, use o comando:

$ gunzip nomedoarquivo.gz

Ou então o comando:

$ gzip -d nomedoarquivo.gz

Comprimir com o bzip2 é semelhante ao gzip. Basta usar o comando:

$ bzip2 nomedoarquivo

Assim como o gzip, o bzip2 também substitui o arquivo original pelo arquivo comprimido.

Para descompactar um arquivo bz, você pode usar o comando:

$ bzip2 -d nomedoarquivo.bz2

Ou então:

$ bunzip2 nomedoarquivo.bz2

Como o processo de utilização do gzip e do bzip2 são semelhantes, fica fácil aprender os dois. Basta praticar com algum arquivo, duas ou três vezes para pegar o jeito.

Você também pode usar o utilitário zip para compactar arquivos. O que pode ser bem útil se você quiser compartilhar arquivos com pessoas que não usam Linux. Para compactar arquivos com o zip, use um comando:

$ zip arquivos.zip arquivo1 arquivo2 arquivo3

Esse comando irá não só comprimir os arquivos (arquivo1, arquivo2 e arquivo3), mas irá armazená-los num arquivo chamado arquivos.zip. Ou seja, além de comprimir, ele arquiva.

Para extrair arquivos zip, use o comando:

$ unzip arquivos.zip

Compactando arquivos tar

Lembre-se que o TAR não comprime, ele apenas arquiva. Já o ZIP comprime e também arquiva.

Isso quer dizer que depois que você criar um arquivo tar, seu tamanho é o mesmo que o tamanho da soma dos arquivos originais.

Para reduzir o tamanho de um arquivo tar, você precisa compactá-lo com gzip ou bzip2:

Exemplo:

$ tar arquivos.tar arquivo1 arquivo2 arquivo3
$ gzip arquivos.tar


O primeiro comando irá arquivar os arquivos (arquivo1, arquivo2 e arquivo3) em um arquivo chamado arquivos.tar.

O segundo comando irá comprimir o arquivo.tar e o substituirá por arquivos.tar.gz. Você também pode usar o bzip para compactar arquivos tar.

Como se extrai arquivos a partir de um arquivo tar compactado? Use o comando:

$ tar -zxvf arquivos.tar.gz

Para extrair todos os arquivos gzip a partir de um arquivo tar compactado. O parâmetro -z informa que o arquivo tar foi comprimido usando o gzip.

E se o arquivo tar foi comprimido com bzip? Nesse caso o comando é outro, na verdade o que muda em relação ao comando anterior é uma letra: ao invés de usar -z use -j, por exemplo, para descompactar um arquivo tar que foi comprimido com o bzip:

$ tar -jxvf arquivos.bz2

Você pode ainda encontrar arquivos tar compactados com tgz e tbz2. Estes formatos na verdade são os mesmos de tar.gz e tar.bz2, respectivamente.

Bem, é isso.

Caso perceba algum erro, por favor, me corrija. Também aceito críticas construtivas e informações complementares.

Obrigado pela atenção.

=)

   

Páginas do artigo
   1. Compactação de arquivos no Linux
Outros artigos deste autor

Não precisamos de antivírus, eles sim

Tem Facebook? Então tem Joli OS

Como fazer hackergotchi (ou avatar de cabeça flutuante)

Estratégia para Shadow Era (Supernova Boring)

Três distros inspiradas no Mac OS

Leitura recomendada

Instalando o Insigne Momentum 5.0

Linux Básico - Parte I

O usuário: o computador e você

Como implementar uma assistente virtual no Linux

Finalmente consegui tirar o Windows do meu computador!

  
Comentários
[1] Comentário enviado por adsjcsp em 20/06/2008 - 15:15h

Gostei mais eu tenho tido um problema com a compactação, é que quando compacto um arquivo com acentuação, ele substitui o a acentuação por outro caractere. Isto tem cura?

[2] Comentário enviado por xerxeslins em 20/06/2008 - 22:23h

amigo, deve ter cura sim... mas desconheço o motivo desse problema. ainda não passei por isso. quando vc lista os arquivos no terminal com o comando 'ls' ele mostra os acentos?

[3] Comentário enviado por juliaojunior em 20/06/2008 - 23:34h

sugiro não usar acentos. sempre dá problemas quando usados em nome de arquivos. cada sistema faz uma coisa maluca com acentos.

[4] Comentário enviado por nicolo em 21/06/2008 - 12:44h

Tá legal, mas basta instalar o arc ou o xarchive e esquecer -xbvfg@#4
e toda essa ciência laboratorial da linha de comando.

[5] Comentário enviado por f_Candido em 21/06/2008 - 23:28h

Legal, gostei bastante.


Abraços

[6] Comentário enviado por d4n1 em 23/06/2008 - 09:45h

xarchive é uma boa dica para o X (shell gráfico) principalmente se usar gerenciadores de janela (wm = window manager) leves como fluxbox, blackbox, windowmaker e etc..., mas com certeza via shell linha de comando é bem mais rápido e instigante! :)

[7] Comentário enviado por xerxeslins em 23/06/2008 - 10:17h

Xarchiver facilita muito a vida do usuário. mas minha intenção foi explicar o funcionamento das compactações.

Simplesmente usar um programa pra compactar e descompactar, sem saber o significado das extensões de compactação, sem saber de nada, apenas usar o programa automaticamente... é algo digno de usuários do rwindows.

uma coisa que estou aprendendo com o linux é sempre aprender um pouco mais a fundo. se bem que esse conhecimento aqui, nesse artigo, ainda é muito superficial.

todo usuário linux deveria saber o que é um TAR.

[8] Comentário enviado por peparocha em 14/12/2008 - 13:40h

Shol de artigo, para iniciantes como eu, o artigo resolve uma gama de problemas de compactação e descompactação.

Obrigado Xerxeslins... []'s

[9] Comentário enviado por fredison-torres em 14/10/2009 - 10:45h

Artigo muito bom, gostei....
obrigado ai pela contribuição..


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts