Pesquisa de site

Como baixar e extrair arquivos Tar com um comando


Tar (Tape Archive) é um formato popular de arquivamento de arquivos no Linux. Pode ser usado junto com gzip (tar.gz) ou bzip2 (tar.bz2) para compactação. É o utilitário de linha de comando mais usado para criar arquivos compactados (pacotes, código-fonte, bancos de dados e muito mais) que podem ser transferidos facilmente de uma máquina para outra ou através de uma rede.

Leia também: 18 exemplos de comandos Tar no Linux

Neste artigo, mostraremos como baixar arquivos tar usando dois downloaders de linha de comando bem conhecidos – wget ou cURL e extraí-los com um único comando.

Como baixar e extrair arquivo usando o comando Wget

O exemplo abaixo mostra como baixar e descompactar os bancos de dados GeoLite2 Country mais recentes (usados pelo módulo GeoIP Nginx) no diretório atual.

wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | tar -xz

A opção wget -O especifica um arquivo no qual os documentos são gravados, e aqui usamos -, o que significa que ele será gravado na saída padrão e canalizado para tar e o sinalizador tar -x permite a extração de arquivos compactados e -z descompacta arquivos compactados criados por gzip.

Para extrair arquivos tar para um diretório específico, /etc/nginx/ neste caso, inclua o uso do sinalizador -C como segue.

Nota: Se extrair arquivos para um diretório específico que requer permissões de root, use o comando sudo para executar tar.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz -O - | sudo tar -xz -C /etc/nginx/

Alternativamente, você pode usar o seguinte comando, aqui, o arquivo será baixado em seu sistema antes que você possa extraí-lo.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && tar -xzf  GeoLite2-Country.tar.gz

Para extrair o arquivo compactado para um diretório específico, use o seguinte comando.

sudo wget -c http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf  GeoLite2-Country.tar.gz -C /etc/nginx/

Como baixar e extrair arquivo usando o comando cURL

Considerando o exemplo anterior, é assim que você pode usar cURL para baixar e descompactar arquivos no diretório de trabalho atual.

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | tar -xz 

Para extrair o arquivo para um diretório diferente durante o download, use o seguinte comando.

sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz | sudo tar -xz  -C /etc/nginx/
OR
sudo curl http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.tar.gz && sudo tar -xzf GeoLite2-Country.tar.gz -C /etc/nginx/

Isso é tudo! Neste guia curto, mas útil, mostramos como baixar e extrair arquivos compactados em um único comando. Se você tiver alguma dúvida, use a seção de comentários abaixo para entrar em contato conosco.