Como baixar arquivos via linha de comando usando wget

wget
Figura Principal - Wget

Porque baixar via Linha de Comando?

Bom, por muitas vezes, não haverá um ambiente gráfico. Por exemplo, se você estiver se conectando ao seu Raspberry PI usando o SSH, você está principalmente preso com a linha de comando. Outra razão para usar a linha de comando é que você pode criar um script com uma lista de arquivos a serem baixados. Por isso hoje aprenderemos um pouco mais sobre o wget.

Instalando o wget

Muitas distribuições Linux já vem por padrão com o wget, mas caso não possua atente-se aos seguintes comandos de instalação, para cada distro:
Ubuntu, Debian, Mint, entre outros:

sudo apt-get install wget

Fedora, CentOS:

dnf install wget
yum install wget

openSUSE:

zypper install wget
Para iniciarmos qualquer download através do wget, precisamos do URL da página que contenha o arquivo para baixar. Por exemplo, imagine que deseja baixar a versão mais recente do Ubuntu usando a linha de comando. Você pode visitar o site Ubuntu. Ao navegar pelo site você pode chegar a esta página que fornece um link de link de download agora.

Para baixar o arquivo usando wget usando a seguinte sintaxe:

wget http://releases.ubuntu.com/14.04.3/ubuntu-14.04.3-desktop-amd64.iso?_ga=1.79650708.1078907269.1453803890

Tudo bem e bom, mas você precisava conhecer o caminho completo para o arquivo que você precisava baixar. É possível baixar um site inteiro usando o seguinte comando:

wget -r http://www.ubuntu.com

O comando acima copia todo o site, incluindo todas as pastas do site Ubuntu. Isso, claro, não é aconselhável, porque isso iria baixar muitos arquivos que você não precisa. No entanto, você poderia baixar todos os arquivos com a extensão ISO do site Ubuntu usando o seguinte comando:

wget -r -A "iso" http://www.ubuntu.com

Isso ainda é um pouco de uma abordagem de aperta e agarrar para baixar os arquivos que você precisa de um site. É muito melhor conhecer o URL ou os URLs dos arquivos que deseja baixar. Você pode especificar uma lista de arquivos para baixar usando a opção -i. Você pode criar uma lista de URLs usando um editor de texto da seguinte maneira:

nano filestodownload.txt

Dentro do arquivo, insira uma lista de URLs, 1 por linha:

http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-1.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-2.jpg
http://eskipaper.com/gaming-wallpapers-7.html#gal_post_67516_gaming-wallpapers-3.jpg

Salve o arquivo usando CTRL e O e depois saia nano usando CTRL e X.

Definindo conexão e tempo limite do wget

Agora você pode usar o wget para baixar todos os arquivos usando o seguinte comando:

wget -i filestodownload.txt

O problema com o download de arquivos da internet é que às vezes o arquivo ou o URL não estão disponíveis.
O tempo limite para a conexão pode demorar um pouco e, se você estiver tentando baixar muitos arquivos, é contra-produtivo aguardar o tempo limite padrão. No entanto você pode especificar seu próprio tempo limite usando a seguinte sintaxe:

wget -T 5 -i filestodownload.txt

Se você tiver um limite de download como parte do seu negócio de banda larga, então você pode querer limitar a quantidade de dados que o wget pode recuperar. Use a seguinte sintaxe para aplicar um limite de download:

wget --quota=100m -i filestodownload.txt

O comando acima irá parar o download de arquivos uma vez que tenham sido alcançados 100 megabytes. Você também pode especificar a quota em bytes (use b em vez de m) ou kilobytes (use k em vez de m).
Você pode não ter um limite de download, mas você pode ter uma conexão lenta à internet. Se você deseja baixar arquivos sem destruir a internet na Internet, você pode especificar um limite que estabeleça uma taxa máxima de download, como por exemplo:

wget --limit-rate=20k -i filestodownload.txt

O comando acima limitará a taxa de download para 20 kilobytes por segundo. Você pode especificar o valor em bytes, kilobytes ou megabytes. Se você deseja garantir que todos os arquivos existentes não sejam substituídos, você pode executar o seguinte comando:

wget -nc -i filestodownload.txt

Se um arquivo na lista de marcadores já existe no local de download, ele não será substituído.
A internet, como sabemos, nem sempre é consistente e, por esse motivo, um download pode ser parcialmente concluído e, em seguida, sua conexão com a internet se destrói. Não seria bom se você pudesse continuar onde você parou? Você pode continuar um download usando a seguinte sintaxe:

wget -c

O comando wget possui dezenas de switches que podem ser aplicados. Use o comando man wget para obter uma lista completa deles dentro de uma janela de terminal.
É isso ai pessoal, mais um tutorial interessante para uso da galera que acabou de chegar no linux e aquela galera que já é fera. Deixa nos comentários o que vocês acharam, deixem ideias, opiniões, sugestões, seu comentário é muito importante.