Linux tar


Sobre

O utilitário tar (Tape ARchiving) compacta/descompacta arquivo

Vale a pena lembrar

  • -c : cria um novo arquivo tar
  • -t : lista o conteúdo do arquivo tar
  • -d : diff
  • -x : extrai o conteúdo do arquivo tar
  • -v : mostra mensagens o que tá rolando
  • -f arquivo : define o nome do arquivo tar
  • -z : compacta/descompacta com gzip / gunzip / ungzip
  • -j : compacta/descompacta com bzip2
  • -r : incrementa um arquivo existente
  • -u : atualiza um arquivo existente com arquivos mais recentes (se existir)

Exemplos de Uso

Compactando arquivos

Compactando e visualizando arquivos

diego@ragazzid:~# ls -ls
total 12
4 -rw-r--r-- 1 diego diego  508 Jun  9 19:44 a.txt
4 -rw-r--r-- 1 diego diego 1055 Jun  9 19:44 b.txt
4 -rw-r--r-- 1 diego diego  616 Jun  9 19:45 c.txt
4 -rw-rw-r-- 1 diego diego 1413 Jun  9 19:48 imagem.png
diego@ragazzid:~$ tar -czvf texto.tgz *.txt
a.txt
b.txt
c.txt
diego@ragazzid:~$ ls -ls
total 20
4 -rw-r--r-- 1 diego diego  508 Jun  9 19:44 a.txt
4 -rw-r--r-- 1 diego diego 1055 Jun  9 19:44 b.txt
4 -rw-r--r-- 1 diego diego  616 Jun  9 19:45 c.txt
4 -rw-rw-r-- 1 diego diego 1413 Jun  9 19:48 imagem.png
4 -rw-rw-r-- 1 diego diego  249 Jun  9 19:49 texto.tgz
diego@ragazzid:~$ tar -tvf texto.tgz
-rw-r--r-- diego/diego     508 2014-06-09 19:44 a.txt
-rw-r--r-- diego/diego    1055 2014-06-09 19:44 b.txt
-rw-r--r-- diego/diego     616 2014-06-09 19:45 c.txt
diego@ragazzid:~$ tar -tf texto.tgz
a.txt
b.txt
c.txt

Adicionando mais arquivos a um arquivo já compactado

Se você utilizou -z (bzip) ou -j (bzip2) não vai dar (pq eu não sei como), porém se você não usou nada, basta fazer o seguinte:

diego@ragazzid:~$ tar -cvf texto.tar *.txt
a.txt
b.txt
c.txt
diego@ragazzid:~$ tar -tf texto.tar
a.txt
b.txt
c.txt
diego@ragazzid:~$ tar -rvf texto.tar imagem.png
imagem.png
diego@ragazzid:~$ tar -tf texto.tar
a.txt
b.txt
c.txt
imagem.png

Descompactando arquivos

Descompactando tudo

diego@ragazzid:~$ ls -l
total 16
-rw-rw-r-- 1 diego diego 10240 Jun  9 20:11 texto.tar
-rw-rw-r-- 1 diego diego   135 Jun  9 20:10 texto.tgz
diego@ragazzid:~$ tar -xvf texto.tar
a.txt
b.txt
c.txt
image.png
diego@ragazzid:~$ tar -xzvf texto.tgz
a.txt
b.txt
c.txt

Descompactando arquivos

diego@ragazzid:~$ tar -xzvf texto.tgz a.txt
a.txt
diego@ragazzid:~$ tar -xzvf texto.tgz b.txt c.txt
b.txt
c.txt
diego@ragazzid:~$ tar -czvf pasta.tgz *
a.txt
b.txt
c.txt
texto/
texto/texto.tgz
texto/texto.tar
diego@ragazzid:~$ tar -tzf pasta.tgz
a.txt
b.txt
c.txt
texto/
texto/texto.tgz
texto/texto.tar
diego@ragazzid:~$ tar -xzvf pasta.tgz texto/texto.tgz
texto/texto.tgz
diego@ragazzid:~$ tar -xzvf pasta.tgz texto/
texto/
texto/texto.tgz
texto/texto.tar