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.