Wget: O Que é, Como Instalar e Exemplos de Comandos Wget para Linux

Este guia vai mostrar como usar o comando Wget no Linux. Também vai fornecer 12 exemplos em que o uso de comandos Wget pode ser útil no seu dia a dia. No final, você conhecerá tudo sobre ele e será capaz de usá-lo para fazer download de arquivos da internet

O que é Wget?

Wget é uma ferramenta criada pelo GNU Project. Você pode usá-la para recuperar conteúdos e arquivos de vários servidores na internet. O nome vem de uma combinação de World Wide Web e a palavra get. Ela suporta downloads via FTP, SFTP, HTML e HTTPS.

Ela foi criado em linguagem C portátil e executável em qualquer sistema Unix. Também é possível implementá-lo no Mac OS X, Microsoft Windows, AmigaOS e outras plataformas populares.

Como instalar o Wget?

Para essa demonstração do comando Wget, vamos usar a versão do 16.04 do Ubuntu. Mas a mesma sintaxe funciona para qualquer outra distribuição do Linux.

Primeiramente, acesse o seu servidor através do SSH. A seguir, execute o seguinte comando para instalá-lo no seu sistema:

apt-get install wget

Quando a etapa estiver finalizada, você estará pronto para usá-la. Além disso, um conhecimento prévio sobre os comandos SSH básicos podem deixar tudo mais fácil.

Dica

O Wget funciona perfeitamente em servidores de uma hospedagem Linux (VPS).

Exemplos de comandos Wget

Para começar, vamos fornecer 12 exemplos de comandos que você pode utilizar para suas tarefas diárias. Tenha em mente que você também pode chamar essa função de scripts ou de cron jobs!

Usando o comando Wget para baixar arquivos únicos

Um dos exemplos de comandos mais básicos é fazer o download de um único arquivo e armazená-lo em seu diretório de trabalho atual. Por exemplo, você pode obter a versão mais recente do WordPress usando o seguinte código:

wget https://wordpress.org/latest.zip

Aqui mostra o resultado que você vai ver:

--2018-02-23 12:53:10-- https://wordpress.org/latest.zip
Resolving wordpress.org (wordpress.org)... 198.143.164.252
Connecting to wordpress.org (wordpress.org)|198.143.164.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9332728 (8,9M) [application/zip]
Saving to: 'latest.zip'

latest.zip 100%[===================>] 8,90M 6,88MB/s in 1,3s

2018-02-23 12:53:14 (6,88 MB/s) - 'latest.zip' saved [9332728/9332728]

Neste exemplo, um arquivo nomeado latest.zip será baixado no seu diretório de trabalho atual. Você também verá informações extras, como o progresso do download, a velocidade, o tamanho, a hora e a data dele.  

Usando o comando Wget para fazer download de múltiplos arquivos

Podemos levar o uso do da ferramenta a um passo além e fazê-lo realizar o download de múltiplos arquivos de uma só vez. Para isso, vamos precisar criar um documento de texto e colocar as URLs do download lá. Nesse exemplo, você vai poder obter as últimas versões do WordPress, Joomla e Drupal. Entre com o seguinte código:

nano example.txt

Isso vai criar um arquivo exemplo.txt e abrirá a interface do editor. Em seguida, cole os seguintes links lá:

https://wordpress.org/latest.zip

https://downloads.joomla.org/cms/joomla3/3-8-5/Joomla_3-8-5-Stable-Full_Package.zip

https://ftp.drupal.org/files/projects/drupal-8.4.5.zip

Quando estiver terminado, você pode usar -i  para obter todos os arquivos armazenados no seu exemplo de arquivo de texto:

wget -i example.txt

Espere até que o processo termine e você terá as instalações dos três dos mais populares sistemas de gerenciamento de conteúdo.

Usando o comando Wget para baixar arquivos com nomes diferentes

Neste exemplo, vamos salvar um arquivo usando um nome diferente com a ajuda da opção -O:

wget -O wordpress-install.zip https://wordpress.org/latest.zip

Neste caso, o recurso baixado será salvo como wordpress-install.zip em vez de seu nome original.

Usando o comando Wget para salvar arquivos em um diretório específico

Você pode utilizá-lo para colocar um arquivo em outro diretório usando a função -P:

wget -P documents/archives/ https://wordpress.org/latest.zip

O arquivo que você obtém usando essa sintaxe será implantada na pasta documents/archives/.

Usando o comando Wget para limitar a velocidade de download

Com ele, você também pode limitar a velocidade de download. Isso é útil ao recuperar arquivos grandes e o prevenirá de utilizar toda a sua banda larga. Este exemplo rá definir o limite para 500k:

wget --limit-rate=500k https://wordpress.org/latest.zip

Usando o comando Wget para configurar tentativas de repetição

Os problemas de conexão com a internet podem fazer com que seu download seja interrompido. Para solucionar esse problema, podemos aumentar as tentativas de repetição utilizando a função -tries:

wget -tries=100 https://wordpress.org/latest.zip

Usando o comando Wget para fazer download em segundo plano

Para fazer o download de arquivos extremamente grandes, você pode tirar vantagem da função -b. Ele irá baixar o seu conteúdo em segundo plano.

wget -b http://example.com/beefy-file.tar.gz

Um wget-log vai aparecer em seu diretório e pode ser usado para conferir o status do progresso de seu download. Este comando também funcionará:

tail -f wget-log

Usando o comando Wget para fazer download via FTP

Este comando também pode ser usado com FTP. Você só precisa especificar o nome de usuário e senha, como no exemplo deste wget:

wget --ftp-user=YOUR_USERNAME --ftp-password=YOUR_PASSWORD ftp://example.com/something.tar

Usando o comando Wget para continuar downloads interrompidos

Seu download pode ser interrompido caso você perca a conexão com a internet ou enfrente queda de energia. Isso é muito comum quando se trata de downloads longos de arquivos pesados. Ao invés de começar novamente, é possível continuar o download de onde ele parou usando a função -c:

wget -c https://example/very-big-file.zip

Se você prosseguir sem a função -c, ao novo arquivo será adicionado .1 no final de seu nome, já que ele já existe.

Usando o comando Wget para recuperar sites inteiros

Também é possível utilizá-lo para baixar o conteúdo inteiro de um site. Isso permitirá que você o visualize localmente sem um precisar de conexão com a internet. Aqui vai um exemplo:

wget --mirror --convert-links --page-requisites --no-parent -P documents/websites/ https://some-website.com

Vamos analisar os ingredientes deste comando Wget:

–mirrorIsso torna seu download repetitivo.
–convert-linksTodos os links serão convertidos para o uso offline adequado..
–page-requisitesO seguinte código inclui todos os arquivos necessários como CSS, JS e imagens.
–no-parentGarante que todos os diretórios acima da hierarquia não sejam recuperados
-P documents/websites/Garante que todo o conteúdo vá para o nosso diretório específico.

-Assim que o processo terminar, você poderá abrir o site baixado localmente e encontrar todos os arquivos na pasta documentos/sites.

Vamos tentar algo mais avançado. Nós podemos usar o comando Wget para localizar todos as URLs quebradas que exibam o erro 404 em um site específico. Comece executando os seguintes códigos:

wget -o wget-log -r -l 5 --spider http://example.com
-oReúne a saída em um arquivo para uso posterior.
-lEspecifica o nível de repetição.
-rTorna o download repetido.
–spiderDefine o Wget para o modo aranha.

Agora podemos investigar o arquivo wget-log para encontrar a lista de links quebrados. Aqui está o comando para fazê-lo:

grep -B 2 '404' wget-log | grep "http" | cut -d " " -f 4 | sort -u

Usando o comando Wget para baixar arquivos numerados

Se você tiver arquivos ou imagens numeradas em uma determinada lista, você pode facilmente baixar todos eles usando a seguinte sintaxe:

wget http://example.com/images/{1..50}.jpg

Conclusão

Parabéns! Ao seguir este tutorial, você aprendeu várias utilidades para o comando Wget. Agora você pode utilizá-lo para obter um ou múltiplos arquivos. Além disso, você também aprendeu alguns usos avançados, como baixar um site inteiro ou como localizar URLs quebradas. Para mais informações, você usar o manual oficial do Wget.

Você conhece outras utilidades, tem dicas ou macetes? Compartilhe com a gente e sinta-se livre para usar os comentários abaixo!

Author
O autor

Andrei L.

Jornalista e conteudista SEO/Localização na Hostinger Brasil. Tem experiência em WordPress e na produção de conteúdos de tecnologia otimizados para conquistar as melhores posições no Google. É fã de games, adora vôlei, ama o inverno e está sempre buscando se aperfeiçoar no Inglês.