# Tar (computação)

TAR ou tar (abreviatura de Tape ARchive), é um formato de arquivamento de arquivos (ficheiros). Apesar do nome "tar" ser derivado de "tape archive", o seu uso não se restringe a fitas magnéticas. Ele se tornou largamente usado para armazenar vários arquivos em um único, preservando informações como datas e permissões. Normalmente é produzido pelo comando "tar". Apesar de ser mais comum em sistemas Unix-Like, este formato é suportado pela maioria dos descompactadores para Windows, como por exemplo o 7-zip.
tar também é o nome de um programa de arquivamento desenvolvido para armazenar e extrair arquivos de um arquivo tar (que contém os demais) conhecido como tarfile ou tarball. O primeiro argumento para tar deve ser uma das seguintes opções: Acdrtux, seguido por uma das seguintes funções adicionais. Os argumento finais do tar são os nomes dos arquivos ou diretórios nos quais eles podem ser arquivados. O uso de um nome de diretório, implica sempre que os subdiretórios sob ele, serão incluídos no arquivo.

## Usando o TAR

O que o GZIP, BZIP2 e XZ não conseguem fazer, o TAR (Tape ARchives) faz. Ele é um aplicativo capaz de armazenar vários arquivos em um só. Porém, não é capaz de compactar os arquivos armazenados. Como é possível notar, o TAR serve de complemento para o GZIP, BZIP2, XZ e vice-versa. Por isso, foi criado um parâmetro no TAR para que ambos os programas possam trabalhar juntos. Assim, o TAR "junta" os arquivos em um só. Este arquivo, por sua vez, é então compactado pelo GZIP ou pelo BZIP2 ou pelo XZ. Quando ocorre o trabalho conjunto entre TAR e GZIP, o arquivo formado tem a extensão .tar.gz ou .tgz na forma abreviada; para o BZIP2, a extensão .tar.bz2 ou .tbz2 na forma abreviada; e para o XZ, a extensão .tar.xz ou .txz na forma abreviada.
O TAR também consegue gravar a propriedade e as permissões dos arquivos. Ainda, consegue manter a estrutura de diretórios original (se houve compactação com diretórios), assim como as ligações diretas e simbólicas.
A síntaxe do TAR é:
Abaixo, segue a lista de parâmetros.

### Parâmetros

    -c - cria um novo arquivo tar;
    -M - cria, lista ou extrai um arquivo multivolume;
    -p - mantém as permissões originais do(s) arquivo(s);
    -r - acrescenta arquivos a um arquivo tar;
    -t - exibe o conteúdo de um arquivo tar;
    -v - exibe detalhes da operação;
    -w - pede confirmação antes de cada ação;
    -x - extrai arquivos de um arquivo tar;
    -z - comprime ou extrai arquivos tar resultante com o gzip;
    -j - comprime ou extrai arquivos tar resultante com o bz2;
    -f - especifica o arquivo tar a ser usado;
    -C - especifica o diretório dos arquivos a serem armazenados.

## Exemplos

A seguir mostramos exemplos de utlização do TAR. Em alguns parâmetros o uso de '-' (hífen) não é necessário. Desta vez, os comandos não serão explicados. Execute-os e descubra o que cada um faz. Repare na combinação de parâmetros e tente entendê-la. Assim, você saberá exatamente o que está fazendo. Bom aprendizado!
Para compactar arquivos no formato TAR.GZ usando use:
Para compactar arquivos no formato TAR.BZ2 usando use:
Para descompactar arquivos no formato TAR.GZ, no diretório corrente:
Para descompactar arquivos no formato TAR.BZ2, no diretório corrente:

### Outros exemplos

    tar -c pasta > arq.tar
    tar -cvf arq.tar arq1 arq2
    tar -cvf /dev/fd1 /dir1/*
    tar -cvMf /dev/fd1 /dir1 /dir2/subdir /dir3 /dir4
    tar -c -v -f arq.tar *.ext
    tar -cwf arq.tar pasta
    tar -czvf /pasta/arq.tgz *
    tar -czwf arq.tar.gz -C /dir1 arq1 -C /dir2 arq2 arq3
    tar -rf arq.tar arq*
    tar -tf arq.tar
    tar -xv -f arq.tar
    tar -xvMf /dev/fd0
    tar -xf arq.tar pasta/arq1
    tar -xzvf /pasta/subdir/arq.tar.gz
    tar -xzwf arq.tgz
    tar -xzvf arq.tar.gz -C /home/restaurado (descompacta os arquivos no diretorio especificado)