você está aqui: Home  → Arquivo de Mensagens

Descompactação automática de arquivos com tar

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 07 de novembro de 2012

Quando compactamos um arquivo com tar e gzip, a convenção é usarmos o sufixo tar.gz ou .tgz. Já quando compactamos um arquivo com os comandos tar e bzip2, a convenção é usar o sufixo .tar.bz2. Para cada um destes modos de compactação, temos que usar um comando diferente.

Para arquivos compactados com gzip, usamos:

  tar xvzf arquivo.tar.gz

A diretiva "z" em "xvzf" indica que vamos usar o programa gzip para descompactar o arquivo.

Já para arquivos compactados com bzip2, usamos:

  tar xvjf arquivo.tar.bz2

A diretiva "j" em "xvjf" indica que vamos usar o programa bunzip para descompactar o arquivo.

Bom, mas existe um caminho mais fácil e rápido. A diretiva "-a" seleciona automaticamente o comando a ser invocado para descompactar os arquivos. Desta forma, podemos usar:

  tar xvaf arquivo.tar.bz2

e

  tar xvaf arquivo.tar.gz

Vemos que os comandos acima são exatamente os mesmos, tanto para o arquivo compactado com gzip como para o arquivo compactado com bzip2.

A sugestão para esta dica veio dos comentários da dica Descompactação de arquivos comprimidos - .gz, .zip, .rar, .bz2, tgz, .tar.gz, postada por Curl!.


 

 

Veja a relação completa dos artigos de Rubens Queiroz de Almeida

Opinião dos Leitores

Luiz Pedro
10 Nov 2012, 17:37
Complementando, None, pode ser ainda mais simples. O '-' é desnecessário, e a não ser que você realmente precise ver os nomes dos arquivos sendo descompactados, o 'v' também pode ser descartado. Ficamos com:

tar xf arquivo.tar
tar xf arquivo.tar.gz
etc.

Claro, essa forma não é portável, por não funcionar em versões antigas, e por não funcionar com todos os tipos de compactação em cada versão. Por exemplo, já tive que forçar um 'J' pra descompactar um .xz, tempos atrás. Assim sendo, se for colocar num script shell, o melhor mesmo é o comando completo, como na dica. Ou, melhor ainda, usar o comando de descompactar separado:

xz -c -d arquivo.tar.xz | tar xf -

Mas isso num script. No dia a dia, o 'tar xf' economiza 2 caracteres e é mais fácil de lembrar!
None
07 Nov 2012, 09:12
Existe também a possibilidade de omitir a,z ou j. Assim ele descompacta .tar .tar.gz .tar.bz2
Exemplo:
tar -xvf arquivo.tar
tar -xvf arquivo.tar.gz
tar -xvf arquivo.tar.bz2

Lembrando quem em versões antigas do tar isso não funciona.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script