Guia Completo do Comando tar no Linux

Visão Geral

Conheça o princípio de funcionamento do comando tar, a ferramenta mais amplamente utilizada para empacotar e compactar arquivos e diretórios volumosos em ambientes Linux. Compreenda a diferença essencial entre arquivamento e compactação e aprenda a utilizar as opções fundamentais por meio de práticas no terminal.

Conceito Básico do tar: A Diferença entre Empacotamento Simples (Archive) e Compactação (Compression)

Para realizar o exercício prático de arquivamento com o tar, crie um diretório de testes e arquivos de texto de exemplo.

mkdir -p ~/tar-demo/sample && echo ‘Hello Linux 1’ > ~/tar-demo/sample/file1.txt && echo ‘Hello Linux 2’ > ~/tar-demo/sample/file2.txt

O comando tar é utilizado para empacotar múltiplos arquivos e diretórios em um único arquivo de arquivo ou para extraí-los.
Combinando as opções -c, -v, -f com a opção -C, empacote e gere o arquivo archive.tar a partir do diretório sample.
⚙️ [Principais Opções]

-c : Cria um novo arquivo tar (archive).
-x : Extrai ou descompacta o conteúdo de um arquivo tar.
-t : Lista o conteúdo contido dentro do arquivo tar.
-v : Exibe detalhadamente no terminal o processo de criação ou extração do arquivo.
-f : Especifica o nome do arquivo tar a ser manipulado.
-z : Compacta ou descompacta utilizando o algoritmo gzip (.tar.gz).
-j : Compacta ou descompacta utilizando o algoritmo bzip2 (.tar.bz2).
-J : Compacta ou descompacta utilizando o algoritmo xz (.tar.xz).
-C : Define o caminho do diretório de destino para a operação do arquivo.

tar -cvf ~/tar-demo/archive.tar -C ~/tar-demo sample

Verifique as informações detalhadas do arquivo archive.tar gerado e do diretório original utilizando o comando ls -lh.
Como se trata de um empacotamento simples de arquivos em um único pacote, nenhum processo de compactação para redução de tamanho foi aplicado neste momento.

ls -lh ~/tar-demo

Opções Práticas de Compactação: Utilizando em Conjunto com gzip(-z) e bzip2(-j)

Ao adicionar a opção de compactação gzip -z, crie o arquivo .tar.gz, compactando o diretório sample simultaneamente à sua criação como arquivo empacotado.
Este é o método mais amplamente utilizado no dia a dia, pois oferece velocidade rápida de processamento e uma taxa de compactação satisfatória.

tar -czvf ~/tar-demo/archive.tar.gz -C ~/tar-demo sample

Ao especificar a opção de compactação bzip2 -j, crie o arquivo .tar.bz2, agrupando e compactando o diretório sample simultaneamente.
Embora leve mais tempo para processar em comparação ao gzip, ele geralmente proporciona uma taxa de compactação superior.

tar -cjvf ~/tar-demo/archive.tar.bz2 -C ~/tar-demo sample

Execute o comando ls -lh ~/tar-demo/*.tar* para verificar a lista e os tamanhos dos arquivos empacotados gerados.
Em comparação com o arquivo comum sem compactação (archive.tar), é possível observar a diferença de tamanho nos arquivos em que os algoritmos de compactação foram aplicados.

ls -lh ~/tar-demo/.tar

Pré-visualização da Lista de Arquivos do Pacote(-t) e Validação Segura

Antes de realizar a descompactação, execute o comando tar -tvf ~/tar-demo/archive.tar.gz para verificar com antecedência a estrutura interna de arquivos e os caminhos de diretórios.
Ao combinar a opção -t com a opção detalhada -v, você pode inspecionar com segurança as permissões, proprietários, tamanhos e estrutura de diretórios dos arquivos contidos sem precisar extraí-los de fato.

tar -tvf ~/tar-demo/archive.tar.gz

Descompactando com Segurança no Diretório Desejado(-x e -C)

Execute o comando mkdir -p ~/tar-demo/extracted para criar um diretório dedicado onde a descompactação será realizada com segurança.

mkdir -p ~/tar-demo/extracted

Utilizando as opções -x e -C, extraia o conteúdo do arquivo no diretório de destino especificado sem poluir o diretório de trabalho atual.
Descompacte a compressão gzip com a opção -z e acompanhe em tempo real a lista de arquivos sendo extraídos com a opção -v.

tar -xzvf ~/tar-demo/archive.tar.gz -C ~/tar-demo/extracted

Execute o comando ls -la ~/tar-demo/extracted/sample para confirmar se os arquivos internos do pacote foram extraídos corretamente no caminho designado.
Através da saída, você pode constatar que as propriedades e permissões dos arquivos foram totalmente restauradas exatamente no estado em que estavam no momento da criação do arquivo.

ls -la ~/tar-demo/extracted/sample

Apresentamos de forma sucinta desde o princípio básico de funcionamento do comando tar no Linux até exemplos práticos de compactação e descompactação frequentemente usados no dia a dia.
Aproveite bem as opções fundamentais mais adequadas a cada cenário para tornar o gerenciamento de arquivos e as tarefas de backup no ambiente Linux ainda mais simples e eficientes.