Aprenda a explorar o comando wget

Muita gente instala utilitários de download, mesmo sem saber que seu Linux já possui o melhor utilitário que existe: wget.

Aprenda a explorar o comando wget

Introdução

O GNU Wget ou simplesmente wget é um utilitário gratuito para download não interativo de arquivos da Web criado em Linguagem C pelo Projeto GNU como o próprio nome correto sugere. Suporta os protocolos HTTP, HTTPS e FTP, bem como a recuperação através de proxies HTTP.

Instalação

A maioria das distribuições Linux já possuem o wget instalado por padrão, mas se por algum motivo não houver utilize o gerenciador de pacotes da sua distribuição para instalar que, com certeza, o wget está no repositório, não só das distros Linux como nos sistemas baseados em BSD, exemplos:

pacman -S wget
pkg install wget

1 - Uso básico

Se você quiser você pode omitir o http, https, ftp,… , ele reconhece os protocolos automaticamente. Se você baixar um arquivo de mesmo nome, ele não sobrescreve o arquivo que já possui, baixa automaticamente com o mesmo nome, mas o .1 , se já tiver tb o .1, ele baixa como .2, e assim sucessivamente, depois do final do nome/extensão do arquivo, ex.: arquivo.iso.1 , depois

wget https://site.com/arquivo.iso

É possível baixa múltiplos arquivos, ex.: wget http://site.com/file.fs ftp.site.com/doc.txt ... , ou até mesmo usar o parâmetro -i e logo depois informar o arquivo que contém os links (geralmente linha por linha, até mesmo separados pôr linhas em branco).

2 - Salvando com um nome definido pelo usuário

O redirecionamento de stdout com o símbolo ‘>’ não funciona no wget, o arquivo que você pediu é criado, mas ele fica com 0 bytes, ou seja, vazio . Pra redirecionar e salvar num arquivo definido pelo usuário, deve-se usar o parâmetro ‘-O’ (letra O maiúsculo)

Como os parâmetros são tratados com getopt , a ordem é indiferente, desde que o nome do arquivo venha depois do -O pra gerar o OPTARG .

wget https://site.com/arquivo.iso -O novo_nome.iso # funciona
wget -O novo_nome.iso https://site.com/arquivo.iso # funciona
wget -O https://site.com/arquivo.iso novo_nome.iso # NÃO funciona
wget novo_nome.iso https://site.com/arquivo.iso -O # NÃO funciona

Com o parâmetro -P , além de criar um arquivo vc ainda cria o(s) diretórios que você deseja que ele seja salvo:

wget https://site.com/arquivo.iso -P caminho/aqui/novo_nome.iso

3 - Você também pode limitar a velocidade do download

Muito utilizado quando você não deseja usar toda banda da sua rede, com --limit-rate

wget --limit-rate=100k https://site.com/arquivo.iso

4 - Retomar um download cancelado

Se você tiver fazendo um download e quiser pausar ou alterar a velocidade do limit-rate , você pode teclar Ctrl+c para pausar o download e depois retomar, basta usar o parâmetro ‘-c’:

wget -c https://site.com/arquivo.iso # retomando com a banda total disponível.
wget -c --limit-rate=150k https://site.com/arquivo.iso # retomando com uma velocidade MAIOR.
wget -c --limit-rate=64k https://site.com/arquivo.iso # retomando com uma velocidade MENOR.

Se quiser você fechar o terminal, ou desligar pra retomar outro dia se desejar.

5 - Deixando o download em background

Com o parâmetro ‘-b’

wget -b https://site.com/arquivo.iso

Automaticamente ele cria um arquivo no diretório do download com nome wget-log e você pode acompanhar esse download com o comando tail -f wget-log.

Detalhe que você fechar o terminal e até deslogar que o download continua, se logar com outro usuário basta procurar o o PID do processo ps -U [nome_do_usuário] e se quiser terminá-lo , use o comando: sudo kill -9 [número_do_processo_visto_com_ps]

Vc ainda pode retomar ele com ‘-c’ como vimos e pôr em background novamente com ‘-c -b’ , lembrando que com esse comando ele não faz um novo download, mas criar um novo arquivo wget-log.1 para você acompanhar, a menos que você já tenha excluído o arquivo anterior.

Você também poderia usar o nohup a gente detalha sobre ele e processos de forma profunda no Curso Extremamente Avançado de Shell Script

6 - Entre outras opções:

Para mais informações consulte o book completo oficial do Projeto GNU: https://www.gnu.org/software/wget/manual/wget.html ou a 1º página do man: man 1 wget

Assista ao vídeo

Quer ficar fera no Terminal e em comandos Linux ?

Conheça nossos cursos de Shell Script e entre outros.

Comente!

Valeu!

Compartilhe

Marcos Oliveira

Autor
Marcos Oliveira
Desenvolvedor de Software
youtube.com/TerminalRootTV

Pacote Promocional com Todos os Cursos

Adquira todos os cursos para se tornar um ninja do Terminal e do Linux.

Artigos Relacionados



Comentários