Como usar o comando tar (tape archive) por Rubens Queiroz de Almeida

O comando tar (abreviação de “tape archive“) é uma ferramenta de linha de comando presente em sistemas operacionais Unix e Linux, que tem como objetivo principal a criação, manipulação e extração de arquivos compactados em formato tar.

O formato tar é um tipo de arquivo que permite agrupar um ou mais arquivos e diretórios em um único arquivo, preservando suas permissões de acesso, timestamps e outros atributos importantes. Além disso, o tar também pode ser utilizado em conjunto com outros utilitários de compressão, como o gzip ou o bzip2, para criar arquivos compactados com tamanhos menores.

Aqui estão as opções mais comuns:

Opção Descrição
c cria um novo arquivo compactado
x extrai os arquivos do arquivo compactado
v exibe informações detalhadas sobre o processo de compactação ou descompactação
f especifica o nome do arquivo compactado a ser criado ou descompactado
z usa compressão gzip para compactar ou descompactar arquivos
j usa compressão bzip2 para compactar ou descompactar arquivos
t exibe o conteúdo do arquivo compactado sem extrair os arquivos
r adiciona novos arquivos ao arquivo compactado existente
k impede a substituição de arquivos existentes durante a extração
p preserva as permissões originais do arquivo durante a extração
--exclude exclui arquivos ou diretórios específicos durante a compactação

Aqui estão alguns exemplos de uso do comando tar:

1. Criar um arquivo compactado:

$ tar -czvf arquivo.tar.gz pasta/

Este comando cria um novo arquivo compactado chamado arquivo.tar.gz contendo todos os arquivos da pasta pasta/ com compressão gzip.

2. Extrair um arquivo compactado:

$ tar -xzvf arquivo.tar.gz

Este comando extrai todos os arquivos do arquivo compactado arquivo.tar.gz com compressão gzip.

3. Adicionar arquivos a um arquivo compactado existente:

$ tar -rvf arquivo.tar arquivo1 arquivo2

Este comando adiciona os arquivos arquivo1 e arquivo2 ao arquivo compactado existente arquivo.tar.

4. Excluir arquivos ou diretórios específicos durante a compactação

$ tar -czvf arquivo.tar.gz --exclude='pasta/exemplo.txt' pasta/

Este comando cria um novo arquivo compactado chamado arquivo.tar.gz contendo todos os arquivos da pasta pasta/ com exceção do arquivo exemplo.txt dentro da pasta pasta/.

5. Uso do comando tar em computadores remotos

O comando tar pode ser usado em conjunto com pipes (|) para criar ou extrair arquivos compactados diretamente em um computador remoto via SSH. Vamos ver alguns exemplos:

Para criar um arquivo compactado diretamente no computador remoto, podemos usar o seguinte comando:

$ tar czf - pasta | ssh usuario@servidor 'cat > arquivo.tar.gz'

Neste exemplo, estamos compactando a pasta pasta e enviando o resultado para o computador remoto servidor, com o usuário usuario. O resultado é salvo em um arquivo chamado arquivo.tar.gz. A opção -c do comando tar indica que estamos criando um novo arquivo, a opção -z indica que queremos compactar o arquivo usando gzip, e o sinal de menos - indica que o resultado deve ser enviado para a saída padrão (stdout).

No computador remoto, estamos usando o comando cat para receber a saída e salvá-la no arquivo arquivo.tar.gz. O sinal de maior que > indica que queremos redirecionar a saída para o arquivo especificado.

Para extrair um arquivo compactado diretamente no computador remoto, podemos usar o seguinte comando:

$ ssh usuario@servidor 'cat arquivo.tar.gz' | tar xzf -

Neste exemplo, estamos acessando o computador remoto servidor com o usuário usuario e enviando o conteúdo do arquivo arquivo.tar.gz para a entrada padrão (stdin) do comando tar no computador local. A opção -x indica que queremos extrair o conteúdo do arquivo, e o sinal de menos - indica que o resultado deve ser lido da entrada padrão (stdin).

[Voltar]