Linux / Comando wget: baixar arquivos e retomar downloads
O comando wget, da GNU, baixa arquivos de endereços (URLs) e normalmente os salva na pasta atual. Ele é útil para obter um arquivo e retomar transferências interrompidas, desde que o servidor e o arquivo permitam uma retomada válida.
O Wget trabalha com HTTP, o Protocolo de Transferência de Hipertexto, sua forma protegida HTTPS e FTP, o Protocolo de Transferência de Arquivos. Use -O para escolher um arquivo de saída e -c para tentar continuar um download anterior. O recurso recursivo pode solicitar muitas páginas; use-o somente com escopo definido e de acordo com as condições de acesso do site.
Sintaxe básica e preparação
wget [opções] URL
Os colchetes indicam opções e não devem ser digitados. Verifique wget --version e man wget no ambiente em que vai executar o comando: este guia usa o manual do GNU Wget 1.25.0 como referência, e outras implementações ou versões podem diferir. Se o programa estiver ausente, identifique o pacote adequado à distribuição antes de seguir os exemplos.
Escolha uma pasta de testes, confira os arquivos existentes e o espaço disponível. Coloque URLs entre aspas quando contiverem caracteres especiais do shell, como &. O domínio example.com é reservado para documentação; os nomes e caminhos de exemplo não representam um repositório real de arquivos de distribuição.
Exemplos de download
Baixar um único recurso
wget https://example.com/
Sem um destino explícito, o nome local normalmente deriva da URL. Para uma URL terminada em barra, o GNU Wget usa index.html como nome padrão, salvo configuração ou opções que alterem esse comportamento. O comando baixa a resposta dessa URL; não é, por si só, um espelhamento do site nem um navegador que reproduz toda a aplicação.
Em um download simples com as opções padrão, uma nova cópia de um nome já existente costuma receber um sufixo como .1. Não generalize essa preservação para -O, retomada ou modo recursivo: essas opções têm regras próprias.
Escolher o nome do arquivo
wget -O example.html https://example.com/
A opção -O, com a letra O maiúscula, grava o corpo em example.html. O arquivo indicado é truncado ao iniciar a operação: dados anteriores podem ser perdidos mesmo que a transferência depois falhe. Escolha um destino novo ou preserve uma cópia anterior antes de executar, em vez de contar com a proteção do nome padrão.
Não confunda -O com -o minúsculo: no Wget, -o escolhe um arquivo de log. Os significados também diferem dos do comando curl para requisições e downloads. Se combinar vários recursos com -O, o Wget reúne os corpos no mesmo arquivo; ele não apenas renomeia o primeiro e salva os demais separadamente.
Tentar retomar uma transferência interrompida
wget -c https://example.com/archive.tar.gz
O caminho archive.tar.gz é ilustrativo: não se afirma que esse arquivo exista em example.com. Substitua a URL pelo endereço real publicado pelo fornecedor. Para continuar, o Wget considera o arquivo local correspondente como o início do arquivo remoto e pede os bytes que faltam.
Em HTTP, a retomada depende do suporte a pedidos de intervalo, com o cabeçalho Range. Se o servidor não permitir continuar, o Wget pode recomeçar do zero e sobrescrever o arquivo local. Se o arquivo remoto for maior porque foi alterado, e não apenas acrescido ao final, juntar os novos bytes ao trecho antigo pode produzir um arquivo corrompido.
O -c não verifica se o arquivo local é um prefixo correto do remoto. Um tamanho igual ou menor no servidor pode levar o programa a não baixar dados; isso também não prova que as duas cópias tenham o mesmo conteúdo. Para uma versão que mudou, prefira uma transferência completa em outro destino e compare o checksum ou a assinatura disponibilizados pela fonte.
O que conferir depois do download
O exemplo seguinte mostra o download seguido de uma listagem do arquivo:
wget -O example.html https://example.com
ls -lh example.html
O ls -lh mostra nome, permissões e tamanho em unidades legíveis se o arquivo existir. Tamanho e conteúdo dependem da resposta recebida; não espere uma quantidade fixa de bytes. As mensagens de progresso e diagnóstico do Wget normalmente vão para a saída de erro padrão, sem serem o corpo do arquivo.
Essas duas linhas não condicionam a listagem ao sucesso do download. O ls pode mostrar um arquivo antigo ou parcial mesmo depois de uma falha. Em Bash, consulte ou guarde $? imediatamente após wget, antes de executar ls; ao final das duas linhas, esse valor já corresponderá à listagem.
No GNU Wget, 0 indica ausência de problemas detectados; o manual distingue, por exemplo, falha de entrada/saída de arquivo (3), rede (4), verificação de certificado (5) e resposta de erro do servidor (8). O código do processo não é o número do status HTTP. Leia também a mensagem completa e não interprete apenas a existência do arquivo como sucesso.
Um download concluído tampouco comprova a autenticidade do conteúdo. Confira se recebeu o arquivo esperado, e não uma página de erro ou login. Para uma distribuição oficial, compare o checksum, um resumo calculado do conteúdo, com o valor obtido de uma fonte oficial confiável, ou verifique a assinatura digital conforme as instruções do fornecedor e a chave correta. Calcular um hash sem uma referência confiável não autentica o arquivo.
Opções principais e diferenças de uso
| Opção | Comportamento |
|---|---|
-O arquivo |
Escolhe o arquivo de saída. Pode truncar e substituir dados existentes. |
-P diretório |
Define o diretório-base em que os arquivos e subdiretórios serão salvos. |
-c |
Tenta continuar um arquivo parcial. Depende do servidor e da correspondência entre o conteúdo local e remoto. |
-q |
Silencia a saída do Wget; não significa que a operação foi bem-sucedida. -nv mantém informações básicas e erros. |
--spider |
Verifica a presença ou o acesso ao recurso sem salvá-lo como um download normal. Não valida a integridade do arquivo. |
-r |
Segue recursos ligados de forma recursiva. Pode gerar muitas requisições e arquivos. |
O modo --spider ainda faz requisições ao servidor. Se a checagem falhar porque o método ou o acesso automatizado foi recusado, examine a mensagem e confira o recurso por um GET ou navegador autorizado antes de classificá-lo como inexistente. Não trate uma verificação de acesso como uma comparação completa do conteúdo.
Retomada e uso responsável do modo recursivo
- Confirme a URL real e o destino local antes de baixar. Preserve arquivos anteriores que precise manter; não use o mesmo caminho como cópia de segurança e saída de -O.
- Antes de usar
-c, confira se a parte local corresponde à mesma versão do arquivo remoto. Se houver dúvida, obtenha uma cópia completa em outro destino, sem concatenar versões diferentes. - Depois da transferência, confira o código de saída, o conteúdo e a verificação de integridade ou assinatura aplicável. A retomada não substitui essa verificação.
- Se precisar de
-r, delimite host, diretórios e profundidade e respeite as regras do site. O manual usa profundidade padrão 5;-l 0significa profundidade ilimitada, e não “somente a página inicial”. Para um único arquivo, mantenha a consulta sem recursão. - Planeje espaço, quantidade de requisições e intervalos entre acessos antes de uma coleta autorizada. Interrompa se o escopo fugir do planejado; mantenha os arquivos de teste separados para decidir depois o que conservar.
Na verificação deste artigo, o wget não estava instalado no Git Bash do Windows 11; a verificação de sintaxe do Bash aceitou os quatro blocos, sem confirmar o comportamento de download. A sequência de duas linhas, executada com um arquivo de teste já existente, mostrou o problema descrito: o Wget ausente falhou, mas ls listou o arquivo e o status final do shell foi 0. Isso verifica o comportamento da sequência no shell, não um download ou uma retomada com Wget no Linux.
Pergunta frequente
Usar wget -c sempre retoma o download com segurança?
Não. A retomada depende do servidor e de o arquivo local ser o início correto da mesma versão remota. Sem suporte a intervalos, pode haver reinício e substituição do arquivo; se o conteúdo mudou, o resultado pode ficar incorreto. Confira o checksum ou a assinatura da versão concluída.
Documentação oficial
Consulte o manual oficial do GNU Wget para confirmar opções, regras de nomes, retomada, modos de saída e códigos de erro da implementação.




