Unix/Linux

tar - Unificador de arquivos

O comando tar foi criado para o Unix, e seu nome deriva de "Tape ARchive", em português significa "Arquivo de Fita".

Este comando permite unir vários arquivos em um só, também é possível utilizar parâmetros -z, -j e -J para compactar o arquivo .tar com diferentes algoritmos.

Por esse motivo é comum termos arquivos com extensões como .tar.gz, .tar.bz2 ou .tar.xz, indicando o algoritmo de compressão utilizado.

Diferente do comando tar, o gzip não faz a união de arquivos, ele apenas compacta cada um separadamente. Por isso é tão comum compactar arquivos .tar com gzip.

Criando arquivos tar

Com gzip (.tar.gz)

tar -czvf arquivo.tar.gz arquivo.txt
tar -czvf arquivo.tar.gz arquivo1.txt arquivo2.txt
tar -czvf arquivo.tar.gz diretorio/

Com bzip2 (.tar.bz2)

Oferece melhor compressão que gzip, porém é mais lento.

tar -cjvf arquivo.tar.bz2 diretorio/

Com xz (.tar.xz)

Oferece a melhor compressão, mas é o mais lento.

tar -cJvf arquivo.tar.xz diretorio/

Sem compressão (.tar)

Apenas agrupa os arquivos sem compactá-los.

tar -cvf arquivo.tar diretorio/

Listar conteúdo de um arquivo tar

Útil para verificar o conteúdo antes de extrair.

tar -tvf arquivo.tar.gz

Extrair arquivos tar

Extrair no diretório atual

tar -xzvf arquivo.tar.gz
tar -xjvf arquivo.tar.bz2
tar -xJvf arquivo.tar.xz

Extrair para um diretório específico

tar -xzvf arquivo.tar.gz -C /caminho/destino/

Extrair arquivo específico

tar -xzvf arquivo.tar.gz caminho/dentro/do/tar/arquivo.txt

Tabela de parâmetros

ParâmetroDescrição
-cCria um novo arquivo tar
-xExtrai arquivos de um tar
-tLista o conteúdo do arquivo tar
-zUsa compressão gzip (.gz)
-jUsa compressão bzip2 (.bz2)
-JUsa compressão xz (.xz)
-vModo verboso, mostra arquivos sendo processados
-fEspecifica o nome do arquivo tar
-CEspecifica o diretório de destino para extração