O que é o tar?
O tar (tape archive) é um utilitário criado originalmente para armazenar e recuperar arquivos em fitas magnéticas. Desde então, tornou-se o padrão para agrupar (empacotar/arquivar) múltiplos arquivos e diretórios em um único arquivo, chamado de arquivo tar ou tarball (com extensão .tar).
Além disso, ele pode compactar esses arquivos usando ferramentas como gzip e bzip2, criando arquivos .tar.gz ou .tar.bz2, otimizando armazenamento e transferência.

Usos clássicos do tar
- Fazer backups completos ou incrementais.
- Empacotar pastas inteiras para distribuição.
- Comprimir logs ou arquivos para liberar espaço.
- Transferência de arquivos grandes/estruturados.
Sintaxe básica
A estrutura geral do comando é:
tar [opções] [arquivo.tar] [arquivos/diretórios]
Principais opções:
- c (create): Criar um novo arquivo tar
- x (extract): Extrair arquivos de um tar
- t (list): Listar o conteúdo de um tar
- v (verbose): Listar os arquivos durante a operação
- f (file): Especifica o nome do arquivo tar
- z (gzip): Comprimir/descomprimir com gzip (.tar.gz)
- j (bzip2): Comprimir/descomprimir com bzip2 (.tar.bz2)
- J (xz): Comprimir/descomprimir com xz (.tar.xz)

Exemplos práticos
1. Criar um arquivo tar sem compressão
tar -cvf backup.tar pasta/
- Empacota a pasta pasta/ em backup.tar (sem compressão).
- O -v mostra o progresso.
2. Criar um tar compactado com gzip (.tar.gz)
tar -czvf backup.tar.gz pasta/
- Compacta a pasta pasta/ e gera um tar.gz.
- O parâmetro z (gzip) adiciona compressão.
3. Criar um tar compactado com bzip2 (.tar.bz2)
tar -cjvf backup.tar.bz2 pasta/
- Usa compressão bzip2, normalmente mais eficiente, porém mais lenta.
4. Extrair arquivo tar
tar -xvf backup.tar
- Extrai todos os arquivos do backup.tar no diretório atual.
5. Extrair arquivo .tar.gz
tar -xzvf backup.tar.gz
- O z faz a descompressão gzip.
6. Extrair para um diretório específico
tar -xzvf backup.tar.gz -C /caminho/de/destino
7. Listar arquivos dentro de um tar
tar -tvf backup.tar
- Mostra todo o conteúdo, sem extrair.
8. Adicionar arquivos a um .tar existente
tar -rvf backup.tar novo_arquivo.txt
- Acrescenta novo_arquivo.txt ao backup.tar.
9. Compactação máxima com xz
tar -cJvf backup.tar.xz pasta/
Resumo dos tipos de compressão
- Gzip: Escolha padrão para velocidade e universalidade.
- Bzip2: Boa opção quando você quer mais compressão que gzip, e o tempo não é problema.
- XZ: Melhor compressão, ideal para arquivos que serão armazenados por muito tempo ou enviados com limitação de espaço. Leve em conta que pode demorar para compactar.

Dicas e boas práticas
- Sempre utilize tf para listar o conteúdo antes de extrair arquivos desconhecidos.
- Use o parâmetro -C para escolher diretório de extração — evita bagunça acidental!
- Para backups, combine tar com comandos como cron para agendamentos automáticos.
- Utilize compactação (z, j, J) para grandes volumes de arquivos.
- Cuidado com permissões, pois extrações mantêm os donos originais dos arquivos, salvo opção contrária.
- Em backups críticos, use –exclude para omitir diretórios grandes ou desnecessários (ex: cache).
Exemplo excluindo uma pasta do backup:
tar -czvf backup.tar.gz pasta/ –exclude=’pasta/node_modules’
Resumo
- tar é ferramenta indispensável para arquivamento, backup e compressão em sistemas Unix/Linux.
- Suporta múltiplas camadas de compressão e tem vasta flexibilidade via parâmetros.
- Dominar tar facilita tarefas rotineiras e prepara você para soluções robustas de backup e migração.


