Você está aqui: Linux ::: Comandos Linux ::: Compactação e Descompactação de Arquivos - Zip, GZIP, etc

Usando o comando tar para compactar e descompactar arquivos e diretórios

Quantidade de visualizações: 9058 vezes
O comando tar (uma abreviação de tape archive) é muito usado no Linux para compactar e descompactar arquivos (embora a compactação real seja feita por meio do utilitário gzip ou outros parecidos).

Um arquivo compactado é um arquivo único que contém um número variado de arquivos individuais juntamente com a informação que possibilita restaurá-los à sua forma original por qualquer um dos vários descompactadores existentes.

A sintáxe do comando tar é a seguinte:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

tar [parâmetros] [nome_do_arquivo_tar] [arquivos_de_origem]

Aqui tar é o nome do comando, parâmetros é a lista de opções fornecida ao comando, nome_do_arquivo_tar é o arquivo tar resultante e arquivos_de_origem é a lista de arquivos que serão agrupados.

É possível usar várias opções com o comando tar. Veja as principais e suas descrições:

-c, --create - Cria um novo arquivo tar.

-d, --diff, --compare - Compara os arquivos agrupados em nome_do_arquivo_tar com aqueles em arquivos_de_origem e relata quaisquer diferenças: arquivos que faltam, tamanhos diferentes, atributos de arquivos diferentes (tais como permissões ou data de modificação).

--delete - Exclui arquivos de nome_do_arquivo_tar. Esta opção não pode ser usada com fitas magnéticas.

-r, --append - Adiciona arquivos_de_origem ao final de um arquivo tar já existente.

-t, --list - Exibe os nomes de arquivos_de_origem se estes estiverem no arquivo tar (se arquivos_de_origem não especificado, os nomes de todos os arquivos serão exibidos).

-u, --update - Adiciona os arquivos se estes não estiverem no pacote ou se sofreram modificações.

-x, --extract, --get - Extrai arquivos_de_origem do pacote (se arquivos_de_origem não especificado, extrai todos os arquivos).

-A, --catenate, --concatenate - Concatena dois arquivos tar.

-f - permite especificar o nome do arquivo tar a ser utilizado.

Veja um trecho de código no qual adicionamos três arquivos a um pacote tar com o nome de arquivos.tar:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

osmar@debian:~$ tar -cf arquivos.tar a.txt b.txt c.txt

Veja que aqui nós usamos a opção "c" para criar um novo pacote e a opção "f" para informar o nome do arquivo tar. Para verificarmos se a operação foi realizada com sucesso podemos listar o conteúdo do arquivo tar. Veja:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

osmar@debian:~$ tar -tf arquivos.tar

O resultado da execução deste comando é:

a.txt
b.txt
c.txt

Vamos ver mais opções?

-v, --verbose - Exibe os nomes dos arquivos à medida que eles são adicionados ou extráidos.

-w, --interactive, --confirmation - Aguarda pela confirmação do usuário antes de cada ação a ser realizada.

-z, --gzip, --gunzip, --ungzip - Efetua uma compactação usando gzip antes de agrupar os arquivos no pacote ou os descompacta usando gunzip antes de extraí-los do pacote.

Veja um trecho no qual compactamos os três arquivos anteriores antes de juntá-los no pacote arquivo.tar:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

osmar@debian:~$ tar -zcvf arquivo.tar.gz a.txt b.txt c.txt

Aqui usamos três opções: "z" para usar a compactação gzip, "c" para criar o pacote, "v" para exibir os nomes dos arquivos sendo agrupados e "f" para indicarmos o nome do arquivo. Veja agora como podemos descompactar o arquivo arquivo.tar.gz no diretório atual:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

osmar@debian:~$ tar -zxvf arquivo.tar.gz

O que mudou neste último comando foi a troca da opção "c" para "x", o que faz com que os arquivos sejam extraídos do pacote.

Para finalizar, veja como obter a versão do comando tar disponível em seu sistema:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

osmar@debian:~$ tar --version

Em meu sistema o resultado foi:

tar (GNU tar) 1.16
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software. You may redistribute copies of it under the terms of
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Linux

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 42 usuários muito felizes estudando em nosso site.