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]