Artigo original: Tar in Linux – Tar GZ, Tar File, Tar Directory, and Tar Compress Command Examples

Quer combinar alguns arquivos e diretórios em um único arquivo? O comando tar do Linux é o que você procurava!

O comando tar é usado para comprimir (ou compactar) um grupo de arquivos em um "grande arquivo". O comando também é usado para extrair, manter ou modificar grandes arquivos tar.

Arquivos comprimidos do tar combinam diversos arquivos e/ou diretórios em um único local. Os arquivos comprimidos tar não são necessariamente reduzidos em tamanho, mas podem ser. As permissões são mantidas e o comando dá suporte a vários formatos de compressão.

Aprenda a usar o comando tar com neste artigo.

Sintaxe

tar [opções] [nome_do_arquivo_compactado] [arquivo ou diretório a ser compactado em arquivo]

Options:
-c : cria o arquivo
-x : extrai o arquivo
-f : cria o arquivo com o nome de arquivo sugerido with given filename
-t : exibe ou lista arquivos em um arquivo compactado
-u : arquiva e adiciona a um arquivo compactado existente
-v : exibe informações extensas
-A : concatena os arquivos compactados
-z : comprime o arquivo tar usando gzip
-j : comprime o arquivo tar usando bzip2
-W : verifica um arquivo compactado
-r : atualiza ou adiciona um arquivo ou diretório em um arquivo .tar existente

Exemplos de uso

Extrair um arquivo:
tar xfv arquivo.tar
(opções: x = extrair, f = arquivo, v = com informações extensas)

Criar um arquivo com arquivos ou pastas:
tar cfv arquivo.tar arquivo1 arquivo2 arquivo3
(opções: c = criar)

Criar arquivos comprimidos (compactados):
tar cfzv arquivo.tar arquivo1 arquivo2 arquivo3
(opções: z = comprimir com gzip)

Mostrar todos os arquivos de um arquivo compactado:
tar tvf arquivo.tar

Criar um arquivo não comprimido de todos os arquivo .txt no diretório atual:
tar cfv arquivo.tar *.txt

Extrair arquivos do arquivo compactado arquivo.tar.gz:
tar xvzf arquivo.tar.gz

Criar um arquivo compactado usando o bzip2:
tar cvfj arquivo.tar.tbz exemplo.cpp
(opções: j = comprimir com bzip2, tamanho de arquivo menor, mas que leva mais tempo do que -z)

Atualizar o arquivo tar existente adicionando o arquivo lista_de_tarefas.txt ao arquivo compactado:
tar rvf arquivo.tar lista_de_tarefas.txt
(opções: r = adiciona o arquivo)

Listar o conteúdo do arquivo tar:
tar tf arquivo.tar
(opções: t = exibir, f = arquivo)

Criar um arquivo comprimido a partir do diretório atual, mas excluindo determinados diretórios:
tar --exclude='./pasta' --exclude='./upload/pasta2' cfzv arquivo.tar .("pasta" e "pasta2" são excluídos)