A tarefa de descompactar tar.gz é equivalente ao processo de unzip no Windows — isto é, extrair arquivos guardados numa pasta compactada em zip. Assim como o zip nos sistemas da Microsoft, o tar.gz é um mecanismo nativo dos sistemas baseados em Unix, como é o caso do Linux.
Como você provavelmente está presumindo, a descompactação de arquivo tar.gz é um procedimento comum e considerado básico para usuários do Linux. Porém, em vez de usar a interface gráfica, o processo é feito por meio do comando tar.
Esse comando é correspondente às funções da ferramenta Tar — que geralmente acompanha as distribuições e portanto não requer instalação —, e pode ser aplicado de diferentes maneiras.
Para melhor elucidar a importância e utilidade da ferramenta, apresentarei as principais opções do comando tar, além de ensinar como compactar e descompactar tar.gz. Vamos ao conteúdo!
Quais são as principais opções (argumentos) do comando tar?
Na sintaxe do comando tar, existe uma série de funções representadas por letras ou termos, a qual corresponde aos recursos que podem ser executados individual ou simultaneamente. Confira, abaixo, breve descrição das principais funções.
-c (criar um arquivo);
-C (alterar diretório destino antes de qualquer procedimento);
-z (comprimir o arquivo com gzip);
-x (a letra corresponde a extract, ou seja, extração de arquivos);
-r (anexa itens ao final do arquivo tar.gz);
-t (lista os conteúdos de um arquivo tar.gz);
-u (anexa somente os itens novos e os copiam para o arquivo tar.gz);
-v (exibir progresso no terminal enquanto cria o arquivo, ou seja, modo verbose);
-f (permite a especificação do nome para o arquivo);
–add (adiciona um item ao arquivo tar.gz); e
–delete (remove itens de um arquivo tar.gz).
Usando essas funções é possível realizar diversos procedimentos básicos com o comando tar, inclusive são essenciais para descompactar arquivos tar.gz. Contudo, há uma vasta gama de argumentos voltados ao uso avançado da ferramenta.
4 exemplos práticos do comando tar
Agora que você já foram apresentados os argumentos básicos do comando tar, vejamos como praticá-los no terminal a partir dos exemplos, abaixo.
1. Criar arquivo tar.gz
Para criar um arquivo tar.gz é preciso utilizar a opção -z. Por exemplo:
tar -cvzf arquivo.tar.gz /home/docs/lista.txt
OU
tar -cvzf arquivo.tgz /home/docs/lista.txt
2. Listar conteúdo de um arquivo tar.gz
Quer saber o conteúdo de um arquivo tar.gz? Então use o seguinte comando para listar as principais informações:
tar -tvf arquivo.tar.gz
3. Checar o tamanho do arquivo
Para checar o tamanho de um arquivo tar (bem como tar.gz e tar.bz2) em Kilobytes (KB), use o seguinte comando:
tar -czf - arquivo.tar | wc - c
4. Aplicar filtros de pesquisa
Em muitas situações é conveniente o uso de filtro para localizar arquivos de uma extensão em especial. Supondo que você queira identificar todos os seus vetores para criar uma arte, digite:
tar tvf imagens.tar --wildcards '*.svg'
Observação: wildcards são usados como símbolo para substituir ou representar um ou mais caracteres. Geralmente, são acompanhados de asterisco (*) para representar um ou mais caracteres, ou de interrogação (?), representando um caractere único.
Como compactar arquivos tar.gz?
O comando tar é bastante abrangente, não é mesmo? Todavia, a partir daqui veremos como realizar alguns procedimentos básicos com o Tar: a compactação e a descompactação de arquivos tar.gz. Vamos começar?
Comprimir um arquivo ou diretório
Para compactar um arquivo ou um diretório por completo, basta especificarmos logo após o comando -czvf, conforme o exemplo a seguir:
tar -czvf nome-do-arquivo.tar.gz /home/docs/leiame.txt
Se a ideia é comprimir um diretório inteiro, apenas substitua o nome do arquivo pelo nome da pasta:
tar -czvf nome-do-arquivo.tar.gz /home/docs/Fotos
Comprimir múltiplos arquivos ou diretórios simultaneamente
O comando tar é capaz de executar a compressão de diversos arquivos e diretórios simultaneamente, dispensando a declaração do comando repetidas vezes. Supondo que você queira compactar três itens, sendo um deles diretório e o restante, arquivos. O que fazer? Digite:
tar -czvf arquivo.tar.gz /home/docs/Ebooks /home/usr/app/lista.odt home/docs/Download/tutorial.mkv
Excluir determinados elementos do processo de compactação
Há situações em que não desejamos compactar todos os arquivos de um diretório. Quando navegamos pela interface gráfica é só uma questão de clicar nos itens em questão, enquanto no terminal o processo é menos amigável — mas sem qualquer complexidade.
Nessa questão, o comando tar é bastante flexível e repleto de opções interessantes, as quais nos permite excluir diretórios, arquivos e, até mesmo, estabelecer critérios de exclusão (por extensão de arquivos, por exemplo). Vamos a algumas aplicações do comando –exclude.
1. Excluindo um arquivo da compactação
tar -czvf arquivo.tar.gz /home/filmes --exclude=/home/filmes/The_Godfather.mp4
2. Abrindo exceções a arquivos de acordo com a extensão
tar -czvf arquivo.tar.gz /home/docs --exclude=*.png
3. Excluindo um diretório da compactação
tar -czvf arquivo.tar.gz /home/docs --exclude=/home/docs/Downloads --exclude=/home/docs/.cache
Nesse último exemplo, removemos o subdiretório “Downloads” e, também, as pastas cache, garantindo que elas não sejam compactadas junto às outras.
O que fazer para descompactar tar.gz?
Extrair um arquivo tar.gz não é muito diferente dos processos de compactação. A diferença é que a opção do comando tar utilizada para isso é a -xvzf (o “x” corresponde a extract). Vejamos um exemplo simples de extração.
tar -xvzf arquivo.tar.gz
Mas o que fazer para extrair os arquivos a um determinado diretório? É muito simples: basta usarmos o argumento -C seguido do diretório destino. Digite:
tar -xvzf arquivo.tar.gz -C /home/docs/arquivos
Para descompactar um ou vários arquivos de um tar.gz, utilize os seguintes comandos, respectivamente:
tar -xz -f filmes.tar.gz “fiction/StarWars_EP1.avi
tar -xz -f musicas.tar.gz “others/Gale_Boetticher_Major_Tom.mp3” “rock/classic/DPurple – Smoke.mp3”
Em suma, descompactar arquivos tar.gz é uma tarefa corriqueira para quem está acostumado a operar no terminal do Linux. Os exemplos de uso do comando tar elencados no artigo, assim como os já abordados chmod, wget, apt, dpkg e aptitute, vão ajudá-lo a pegar o jeito com a ferramenta e, principalmente, a adaptar-se ao terminal.
Para complementar o aprendizado acerca do gerenciamento de arquivos do Linux, que tal conhecer as funcionalidades do comando find na prática?
Agora quero saber de você, leitor: o que está achando do universo Linux e os conteúdos que publico aqui no blog? Se estiver gostando e buscando adquirir um conhecimento mais profundo, recomendo que leia este ebook do curso Linux Ubuntu!