Shutterstock / iunewind
O tar é mais do que apenas um utilitário de arquivamento: o tar vem com ótimas funções internas que permitem compactar e descompactar arquivos, simultaneamente com o arquivamento. Aprenda tudo neste artigo e muito mais!
índice
- O que é tar e como instalá-lo?
- Criando um arquivo descompactado
- Criando um arquivo descompactado
- Obtenha mais bytes usando compactação de alto nível
- Outros programas de compressão
- Descompacte um arquivo
O que é tar e como instalá-lo?
De acordo com o manual do tar (que você pode acessar digitando man tar
uma vez instalado), o tar é um utilitário de arquivamento. Ele suporta muitos recursos, incluindo compactação e descompactação de arquivos em tempo real durante o arquivamento. Vamos começar instalando o tar:
Para instalar o tar em sua distribuição Linux baseada em Debian/Apt (como Ubuntu e Mint), execute o seguinte comando em seu terminal:
sudo apt install tar
Para instalar o tar em sua distribuição Linux baseada em RedHat/Yum (como RHEL, Centos e Fedora), execute o seguinte comando em seu terminal:
sudo yum install tar
Em seguida, criaremos alguns dados de exemplo:
teste mkdir; cd teste toque abcdef echo 1 > a; eco 5 > e; echo '222222222222222222222' > b
Aqui criamos um diretório de teste e criamos seis arquivos vazios usando a extensão do comando touch
. Também adicionamos alguns números aos arquivos. a , is , is second , embora em particular os arquivos second tenham dados repetitivos, que serão compactados muito bem.
Se você quiser saber mais sobre como a compressão funciona, você pode conferir o nosso. Como funciona a compactação de arquivos? artigo.
Criando um arquivo descompactado
tar -hcf all_files.tar * ls -l | grep -v completo | awk '{print $5"tbytes para: "$9}' | classificar -n
Aqui criamos um arquivo tar descompactado usando o comando tar -hcf all_files.tar *
. Vamos dar uma olhada nas opções usadas neste comando.
Primeiro, temos -h
que, embora não seja obrigatório neste caso em particular, recomendo que você sempre inclua comandos tar
no seu. Essa opção significa dereference , que desreferenciará (ou seguirá) links simbólicos, armazenando e baixando os arquivos para os quais eles apontam.
Em seguida, temos as opções -c
do arquivo -f
. Observe que eles são escritos apenas junto com o arquivo -
em -h
, ou seja, em vez de especificar outro -
, nós simplesmente os marcamos nas outras opções abreviadas. Fácil e rápido.
A opção -c
significa criar um novo arquivo. Observe que, por padrão, os diretórios são arquivados recursivamente, a menos que uma opção não recursiva também seja usada. A opção -f
nos permite especificar o nome do arquivo. Portanto, deve ser o último em nossa cadeia de opções (já que requer uma opção) para que possamos adicionar o nome do arquivo diretamente após ele. Usar tar -fch test.tar *
não funcionará:
Uma vez que o tar é gerado, usamos um arquivo ls
de saída que nos mostra claramente o número de bytes por arquivo. Como você pode ver, o arquivo tar é muito maior do que todos os nossos arquivos combinados. Os arquivos são simplesmente arquivados e algum tar de sobrecarga é adicionado.
Como uma observação interessante, também podemos ver com quais tipos de arquivos estamos trabalhando simplesmente usando o comando file
no prompt de comando:
arquivo c arquivo b arquivo all_files.tar
Criando um arquivo descompactado
Um algoritmo de compressão muito comum é o GZIP. Vamos adicionar a opção para o mesmo ( -z
) à nossa string de opção de linha de comando abreviada e ver como isso afeta o tamanho do arquivo:
tar -zhcf all_files.tar.gz [af] ls -l | grep -v completo | awk '{print $5"tbytes para: "$9}' | classificar -n
Desta vez, especificamos uma expressão regular para usar apenas arquivos nomeados como F , evitando que o comando tar
inclua o arquivo all_files.tar
dentro do novo arquivo all_files.tar.gz
!
Veja como você usa expressões regulares? e Edite texto usando expressões regulares usando sed se quiser saber mais sobre expressões regulares.
Também incluímos a opção -z
que usará a compactação GZIP para compactar o arquivo .tar
assim que o download dos dados for concluído. É bom ver que ficamos com um arquivo de 186 bytes, o que nos diz que, neste caso, o cabeçalho/sobrecarga tar
pode ser compactado perfeitamente.
O tamanho total do arquivo é 7,44 vezes o tamanho total do arquivo, mas isso não importa, pois este exemplo fictício não é representativo da compactação de arquivos grandes, onde você quase sempre vê ganhos em vez de perdas, a menos que os dados não tenham sido pré-compactados ou estejam em um formato que não pode ser facilmente condensado usando uma variedade de algoritmos. No entanto, um algoritmo (como GZIP) pode ser melhor que outro (como BZIP2) e vice-versa para diferentes conjuntos de dados.
Obtenha mais bytes usando compactação de alto nível
Podemos tornar o arquivo ainda menor? Sim. Podemos definir a opção de compactação máxima do GZIP usando a opção -I
para tar
, que nos permite especificar um programa de compactação a ser usado (com estouro de pilha graças às idéias de userman42):
tar -I 'gzip -9' -hcf all_files.tar.gz [af] ls -l | grep -v completo | awk '{print $5"tbytes para: "$9}' | classificar -n
Aqui especificamos -I 'gzip -9'
como um programa de compactação para usar e removemos a opção de arquivo -z
(já que agora estamos especificando um programa personalizado específico para usar em vez de usar a configuração tar GZIP embutida). O resultado é que temos 12 bytes a menos como resultado da tentativa de compactação melhor (mas geralmente mais lenta) do GZIP (nível -9
).
Em geral, quanto mais rápida a compactação (menor nível de tentativas de compactação, por exemplo -1
), maior o tamanho do arquivo. Além disso, quanto mais lenta a compactação (maior nível de tentativas de compactação, por exemplo -9
), menor o arquivo. Você pode definir suas próprias preferências variando o nível de compactação de -1
(rápido) a -9
(lento).
Outros programas de compressão
Existem dois outros algoritmos de compactação comuns que você pode explorar e experimentar (diferentes opções de algoritmo também fornecem resultados de tamanho diferentes e podem ter opções de compactação adicionais), ou seja, bzip2 , que pode ser usado especificando a opção -j
archive para tar
, ou seja, XZ que pode ser usado especificando a opção -J
.
Como alternativa, você pode usar o comando -I
para definir as opções máximas de compactação para bzip2
( -9
):
IS -9e
para xz
:
Como você pode ver, os resultados são menos bons neste caso do que com o algoritmo GZIP bastante padrão. no entanto, os algoritmos bzip2
is xz
podem apresentar melhorias com outros conjuntos de dados.
Descompacte um arquivo
Descompactar um arquivo é muito fácil, independentemente do método original de compactação, desde que esse algoritmo de compactação esteja presente em seu computador. Por exemplo, se o algoritmo de compactação original foi bzip2 (indicado por uma extensão .bz2
para o nome do arquivo tar), você desejará ter sudo apt install bzip2
(ou sudo yum install bzip2
) no computador de destino que deve descompacte o arquivo.
rm abcdef tar -xf all_files.tar.gz ls
Simplesmente especificamos -x
para expandir ou descompactar nosso arquivo all_files.tar.gz
e indicamos o nome do arquivo novamente usando a opção abreviada file -f
como antes.
A compactação de arquivos pode ajudá-lo a economizar muito espaço em seus dispositivos de armazenamento e saber como usá-los. tar
em combinação com as opções de compactação disponíveis o ajudarão a fazer isso. Uma vez que o arquivo precisa ser extraído novamente, é fácil fazê-lo desde que o software de descompactação correto esteja disponível no computador usado para descompactar ou extrair os dados do arquivo. Desfrutar!
- Como revogar automaticamente as permissões para aplicativos Android não usados
- Como remover widgets do Notification Center no Mac
descubra mais conteúdo
O que é um amplificador integrado?
Google Pixel Watch também tem detecção de queda, mas não até o próximo ano
As melhores xícaras de café aquecidas de 2022
Como automatizar seu iPhone com base na hora, atividade ou localização
"Isso deve ter sido antes do meu tempo"
Por que a NASA enviou Snoopy para a Lua? – Revisão geek
Deixe uma resposta Cancelar resposta
Como descompactar arquivos tar?
Para extrair ( descompactar ) um arquivo tar . gz, basta clicar com o botão direito do mouse no arquivo que deseja extrair e selecionar "Extrair". Os usuários do Windows precisarão de uma ferramenta chamada 7zip para extrair arquivos tar .
Como descompactar o tar no terminal?
Para descompactar : arquivo tar -xzvf. alcatrão . gz.
Como extrair tar gz no Linux?
Tar GZ e Linux
- Abra e extraia arquivos Tar GZ no Linux : $ tar xvzf archive.
- Descompacte os arquivos Tar GZ no Linux : $ tar xvzf file.
- Para visualizar o índice dos arquivos Tar GZ no Linux : $ tar -tvf file.
- para extrair o arquivo.
- Compacte um diretório inteiro como Tar GZ no Linux : tar -zcvf archive.
Que comando eu uso para descompactar um arquivo tar gz?
gz . Com o comando tar , você pode compactar e descompactar .