O uso do tar é comum no universo Linux, sendo um comando importante para prover compactação e descompactação de arquivos. Muitos downloads para o sistema estão nos formatos tar.gz ou tar.bz2, o que torna importante o conhecimento das funcionalidades do comando tar por pessoas usuárias Linux.

Devido a grande quantidade de opções que o comando fornece, o uso do tar pode causar dúvidas nas pessoas que são iniciantes em Linux e até mesmo em profissionais que já trabalham com o sistema. Isto acontece por causa da diferença de funcionamento entre os arquivos gerados pelo comando tar e os tradicionais zip e rar.

Para explicar melhor o que é tar e lhe ajudar a aprender as mais diversas formas de uso com exemplos práticos, criamos este artigo em que apresentaremos os seguintes tópicos:

Vamos lá? Boa leitura!

O que é e para que serve o comando .tar?

O comando tar é utilizado para arquivar e comprimir múltiplos arquivos e diretórios em apenas um arquivo, além de permitir a manipulação dos documentos criados. Seu uso facilita a transferência de arquivos e também é muito útil para backup, porque o arquivo gerado contém informações como as permissões das pessoas usuárias, estruturas dos diretórios e datas.

Contudo, o comando tar por si só não comprime os arquivos, apenas os arquiva. Para comprimir, é preciso utilizar os softwares gzip e bzip2, que geram os arquivos com extensão .tar.gz e .tar.bz2. Eles têm diferenças entre a taxa de compactação, ou seja, qual a porcentagem do tamanho final do arquivo e a velocidade de processamento, que é o tempo que a compactação ou descompactação demorará.

Você deve escolher o gzip quando quiser compactar e descompactar arquivos com maior velocidade de processamento, mas sem se preocupar com a taxa de compactação. Por sua vez, deve usar o bzip2 quando preferir um arquivo com maior taxa de compactação. Por demorar mais para compactar, é preferível usar o gzip quando o arquivo compactado for descompactado com pouca frequência.

Como usar o comando tar: exemplos práticos

Há uma grande quantidade de opções disponíveis para o comando tar. Abaixo, vamos mostrar os comandos para compactar, descompactar, exibir o conteúdo e o tamanho dos arquivos. Confira!

Compactando arquivos: criando um .tar

O comando tar pode ser usado para compactar diversos arquivos e pastas de uma vez. As possibilidades podem ser usando gzip, bzip2 ou apenas criando um arquivo sem compactação. As opções e a estrutura do comando para criação de um arquivo com extensão tar são as seguintes:

tar -cvf arquivo-criado.tar caminho/para/arquivo-ou-diretorio

  • -c : cria um arquivo tar;
  • -v : exibe o progresso de criação no terminal e, apesar de opcional, pode ser útil;
  • -f : nome do arquivo a ser criado, no exemplo, arquivo-criado.tar

No exemplo acima, arquivo-ou-diretorio deve ser compactado. Suponha que você queira criar um arquivo compactado chamado arquivo-criado.tar a partir de um diretório chamado diretorio-exemplo, e que esteja no mesmo diretório que diretorio-exemplo. Assim, o comando será:

tar -cvf arquivo-criado.tar arquivos

Caso não esteja no mesmo diretório, deve utilizar o comando da seguinte forma:

tar -cvf arquivo-criado.tar home/arquivos

Sendo home/arquivos o caminho para diretório-exemplo.

Criando um arquivo .tar.gz r  

Como dito anteriormente, um arquivo .tar apenas arquiva um conjunto de arquivos. Caso você queira compactar usando gzip, deve acrescentar a tag -z às opções. O comando fica da seguinte forma:

tar -czvf arquivo-criado.tar /home/diretorio-exemplo

Caso queira acrescentar mais de um item ao comando, ele ficará como segue:

tar -czvf arquivo-criado.tar.gz /home/ubuntu/Downloads /usr/local/diretorio /home/ubuntu/Documents/texto.txt

Criando um arquivo .tar.bz2

A compactação utilizando bzip2 é semelhante, fazendo uso da tag -j:

tar -jxvf tar -czvf arquivo-criado.tar.bz2 /home/diretorio-exemplo

Adicionando arquivos a um .tar

Outra operação que pode ser realizada é a adição de arquivos e diretórios a um .tar já existente, o que deve ser feita com a tag -r. Abaixo há um exemplo da adição de texto.txt a arquivo-criado.tar.

tar -rvf arquivo-criado.tar texto.txt

Descompactando arquivos .tar

A descompactação de arquivos é semelhante ao processo de compactação e você pode tanto extrair um item quanto um conjunto deles. As duas formas são mostradas abaixo. Acompanhe!

Como extrair apenas um item do arquivo .tar?

No caso da extração de um único item, há a opção de extraí-lo de um arquivo .tar, .tar.gz ou .tar.bz2. O exemplo abaixo mostra as duas sintaxes possíveis para extração do arquivo texto.txt do arquivo-existente.tar:

tar -xvf arquivo-existente.tar texto.txt
tar --extract --file= arquivo-existente.tar texto.txt

Para extrair um único item de um arquivo .tar.gz, você pode usar comandos semelhantes:

tar -zxvf arquivo-existente.tar texto.txt
tar --extract --file= arquivo-existente.tar texto.txt

Por fim, no caso de arquivos .tar.bz2:

tar -jxvf arquivo-existente.tar texto.txt
tar --extract --file= arquivo-existente.tar texto.txt

Como extrair vários itens específicos do arquivo.tar?

A extração de mais de um item de um arquivo.tar é semelhante à extração de apenas um. Se quiser extrair os arquivos texto.txt e imagem.jpg do arquivo compactado arquivo-existente.tar, deve-se utilizar o comando abaixo:

tar -xvf arquivo-existente.tar texto.txt imagem.txt main.cpp

No caso de arquivos compactados com extensão .tar.bz2, a sintaxe fica a seguinte:

tar -zxvf arquivo-existente.tar texto.txt imagem.txt main.cpp

Já para arquivos .tar.bz2:

tar -jxvf arquivo-existente.tar texto.txt imagem.txt

Como extrair arquivos de um mesmo padrão

A extração de itens com mesmo padrão pode ser realizada utilizado wildcards. Por exemplo, para a extração de itens com extensão .txt, deve-se utilizar o seguinte comando para .tar:

tar -xvf arquivo-existente.tar --wildcards '*.jpg'

No caso de tar.gz. o comando fica:

tar -zxvf arquivo-existente.tar --wildcards '*.jpg'

Já para .tar.bz2:

tar -jxvf arquivo-existente.tar --wildcards '*.jpg'

Listando o conteúdo de um arquivo

Listar os itens de um arquivo é outra opção do comando tar. Ela exibe, além de nomes, datas e permissões, e deve-se utilizar a tag -t. No caso de arquivos .tar, o comando é o seguinte:

tar -tvf arquivo-existente.tar

Seu uso para .tar.gz:

tar -tvf arquivo-existente.tar.gz

Para arquivos .tzr.bz2 a sintaxe é:

tar -tvf arquivo-existente.tar.bz2

Como verificar o tamanho de um arquivo?

A verificação do tamanho do arquivo em kilobytes (KB) utiliza a tag -c. Supondo que deve-se verificar o tamanho de um .tar:

tar -czf - arquivo-existente.tar | wc -c

O comando para .tar.gz é semelhante:

tar -czf - arquivo-existente.tar.gz | wc -c

Já para .tar.bz2:

tar -czf - arquivo-existente.tar.bz2 | wc -c

Viu só quais as utilidades do comando tar? Com as informações mostradas, já é possível realizar grande parte de suas tarefas. Para consultar a documentação oficial é necessário utilizar o comando man tar no terminal do Linux.

Gostou do nosso conteúdo sobre tar? Então, confira nosso post sobre VirtualBox e entenda o que é uma maquina virtual!

1 Shares:
Você também pode gostar