Categorias
Tutoriais

Como baixar arquivos via linha de comando usando 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.

Por Emanuel Negromonte

Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.

Sair da versão mobile