De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 24 de fevereiro de 2023
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).
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários