Como compactar e descompactar arquivos no linux

O TAR e o GZIP são duas ferramentas bem famosas no Linux, a primeira junta vários arquivos em um só, já a segunda é utilizada para compactar os arquivos. Como o Tar não consegue compactar arquivos muitas vezes ele é usado em conjunto com o Gzip. Um junta e o outro compacta, assim todos arquivos formam um único arquivo ao mesmo tempo que ocupam um menor espaço em disco já que eles serão compactados. Vamos ver agora como utiliza-los.


TAR

 

TAR  é uma ferramenta bastante utilizada para juntar (ou empacotar) vários arquivos em um, preservando as informações do mesmo como dono, data, permissões, estrutura de diretórios e outras propriedades. O arquivo gerado tem extensão tar (ex: arquivo.tar). A extração ou empacotamento utilizando o TAR é feita através de comandos executados a partir do Shell.
A sintaxe do comando Tar é:  tar [parâmetros] [-f nomedoarquivo] [-C diretório] [arquivosdeorigem.]

[parâmetros] - nesse campo ficam as instruções que você quer executar. Por exemplo, extrair, criar, etc. Confira a lista de parâmetros abaixo.
[nomedoarquivo] nesse campo você deve especificar o nome do arquivo. Se for extrair, o nome deve ser precedido do parâmetro -f. Caso você esteja criando um novo arquivo .tar não precisa usar o parâmetro.
[diretório] - especifica o diretório aonde o arquivo será salvo ou extraído.
[arquivosdeorigem] - especifica os arquivos a serem empacotados, se for mais de um basta dar um espaço entre eles.

Note que todas as opções do comando estão entre colchetes ([...]), logo essas opções não são obrigatórias, então haverá caso você poderá omitir algo que não queira. Por exemplo, se você omitir o diretório na hora de extrair os dados serão salvos no diretório corrente.

Confira a lista de parâmetros abaixo:
  • -c - cria um novo arquivo tar;
  • -M - cria, lista ou extrai um arquivo multi volume;
  • -p - mantém as permissões originais do(s) arquivo(s);
  • -r - acrescenta arquivos a um arquivo tar;
  • -t - exibe o conteúdo de um arquivo tar;
  • -v - exibe detalhes da operação;
  • -w - pede confirmação antes de cada ação;
  • -x - extrai arquivos de um arquivo tar;
  • -z - comprime ou extrai arquivos tar resultante com o gzip;
  • -j - comprime ou extrai arquivos tar resultante com o bz2;
  • -f - especifica o arquivo tar a ser usado;
  • -C - especifica o diretório dos arquivos a serem armazenados.

Criando arquivos tar


tar -cf musicas.tar faixa1.mp3 faixa2.mp3 faixa3.mp3

Cria um arquivo chamado musicas.tar que contém os três arquivos de faixa.mp3. Repare que foram usados dois parâmetros, -c e -f, e como os dois foram combinados não teve a necessidade de usar o hífen no f.

Extraindo arquivos tar


tar -xf musicas.tar 

O comando acima ainda pode ficar mais interessante se for adicionado o parâmetro v que irá mostrar os arquivos que estão sendo extraídos. Nesse caso o comando ficaria da seguinte maneira:

tar -xvf musicas.tar 

Mas se você quiser apenas saber o que tem dentro do arquivo musicas.tar sem a necessidade de extrair, execute o seguinte comando:

tar -tf musicas.tar

Essas são algumas possibilidades, você pode testar os outros parâmetros e combina-los para ver o resultado.

Tar e (Gzip ou Bzip2)


Repare que na lista de parâmetros do Tar existe a opção -z que é justamente para compactar ou extrair o arquivo em conjunto com Gzip. Um arquivo compactado com ele tem extensão ".tar.gz" ou ".tgz". Vejamos então como juntar e compactar arquivos:

tar -zcf multimidia.tar.gz faixa.mp3 video.avi image.png

O comando é bem parecido, só muda o z no inicio do comando. Para extrair é a mesma coisa, usa-se o comando do tar para extrair e acrescenta o z no inicio para que o programa saiba que o arquivo está compactado.

tar -zxf multimidia.tar.gz

Há também um parâmetro -j no Tar que serve para compactar com o BZIP2. Ele funciona da mesma forma que o anterior, mas agora ao invés de usar o z se usa o j. Arquivos empacotados com o tar compactados bzip2 tem extensão ".tar.bz2". Vejamos um exemplo:

tar -jcf multimidia.tar.bz2 faixa.mp3 video.avi image.png

O exemplo acima junta os arquivos faixa.mp3 video.avi image.png em um arquivo de chamado multimidia.tar, e depois compacta com o bzip2, formando o multimidia.tar.bz2. O processo para descompactar é descrito abaixo.

tar -jxf multimidia.tar.bz2


Vale lembrar que os comandos descritos são os comandos básicos, a uma serie de parâmetros que podem ser combinados com outros, tudo irá depender do que você deseja fazer.


Obs: Letras maiúsculas diferenciam de minúsculas, por isso preste atenção ao digitar.


Fontes: 
http://pt.wikipedia.org/wiki/TAR
Manual do Tar 
www.bzip.org
www.gzip.org 
Savant

0 comentário " Como compactar e descompactar arquivos no linux "

Postar um comentário

Comente! Seu comentário é importante para nós!