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.
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:
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
É 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).
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 .
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:
Muito utilizado quando você não deseja usar toda banda da sua rede, com
--limit-rate
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’:
Se quiser você fechar o terminal, ou desligar pra retomar outro dia se desejar.
Com o parâmetro ‘-b’
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
--pinnedpubkey=[arquivo_com_a_hash]
- Especifica uma hash pro wget , você também pode usar --keep-badhash
--no-check-certificate
- Ignora o certificado para sites que lhe obrigarem informar.--use=[nome_de_usuário] e --password=[senha_do_usuário] , ou especificar com o protocolo ex.: --http-password
- para logins em ftp e proxy .-r
- baixa sites completos , com todos os arquivos e subdiretórios.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
Conheça nossos cursos de Shell Script e entre outros.
Valeu!