Introducción
En el entorno de Linux la terminal se convierte en una extensión del usuario permitiendo ejecutar tareas de forma rápida y sin depender de entornos gráficos. Entre las herramientas más destacadas para obtener archivos desde internet se encuentra wget un programa de descarga no interactivo que soporta los protocolos HTTP HTTPS y FTP. Su popularidad se debe a su simplicidad su robustez y la gran cantidad de opciones que permite adaptar la descarga a casi cualquier escenario. En este artículo veremos desde la sintaxis más básica hasta trucos avanzados que harán que tu trabajo con wget sea más eficiente.
Sintaxis básica
Para iniciar una descarga basta con escribir wget seguido de la URL del recurso. Por ejemplo:
wget https://ejemplo.com/documento.pdf
Al ejecutar esa línea el programa se conectará al servidor solicitará el archivo y lo guardará en el directorio actual manteniendo el nombre original. Si el servidor redirige la petición wget seguirá la redirección automáticamente. En caso de que exista un archivo con el mismo nombre wget lo sobrescribirá a menos que se indique lo contrario mediante alguna opción.
Opciones más usadas
- -o archivo : guarda el registro de mensajes en el archivo indicado en vez de imprimirlo en la terminal.
- -O archivo : define el nombre del archivo de salida sobrescribiendo el nombre predeterminado.
- -c : continúa una descarga que se haya detenido previamente reutilizando la parte ya descargada.
- -r : activa el modo recursivo permitiendo descargar directorios completos o sitios web.
- -l número : establece el nivel máximo de recursión cuando se combina con -r.
- -k : convierte los enlaces en los documentos descargados para que funcionen localmente.
- -p : descarga todos los recursos necesarios para mostrar correctamente una página HTML como imágenes hojas de estilo y scripts.
- -U agente : especifica un agente de usuario personalizado útil cuando algunos servidores bloquean peticiones genéricas.
- –limit-rate=velocidad : restringe el ancho de banda utilizado por la descarga aceptando valores como 200k o 1,5m.
- –wait=segundos : introduce una pausa entre peticiones sucesivas para reducir la carga sobre el servidor remoto.
- –retry-connrefused : indica a wget que siga intentando si la conexión es rechazada inicialmente.
Ejemplos prácticos
- Descargar un archivo y renombrarlo al guardar:
wget -O informe_final.pdf https://ejemplo.com/informe.pdf - Reanudar una descarga grande que se cortó por un corte de energía:
wget -c https://ejemplo.com/copia_de_seguridad.iso - Obtener un sitio web completo para navegar sin conexión:
wget -r -l 2 -k -p https://ejemplo.com/blog/ - Limitar la velocidad a 250 KB/s para no saturar el enlace mientras se trabaja:
wget --limit-rate=250k https://ejemplo.com/actualizacion.zip - Cambiar el agente de usuario para simular un navegador moderno:
wget -U NavegadorWeb https://ejemplo.com/detalles.html - Descargar únicamente los archivos PDF de un directorio:
wget -r -l 1 -A pdf https://ejemplo.com/documentos/ - Intentar la reconexión hasta cinco veces antes de abandonar:
wget --tries=5 https://ejemplo.com/archivo_inestable.gz
Consejos y buenas prácticas
- Siempre verifica la URL antes de ejecutar wget para evitar descargas accidentales de contenido no deseado.
- Cuando uses el modo recursivo combina -l con -np para no subir a directorios padres.
- Utiliza el archivo de registro (-o) para depurar problemas de conexión o de autenticación.
- Si necesitas autenticación incorpora los flags –user y –password o mejor aún usa un archivo .netseguro para no dejar credenciales en el historial.
- Para descargas programadas combina wget con cron o con systemd timers.
- Recuerda que wget no interpreta JavaScript por lo que algunos sitios modernos pueden requerir herramientas adicionales como curl o wget con cabeceras específicas.
Limitaciones y consideraciones
- Wget no procesa JavaScript por lo que sitios que dependen de scripts para cargar contenido pueden requerir herramientas como curl o navegadores headless.
- Algunos servidores limitan la cantidad de conexiones simultáneas; usar demasiadas peticiones con -r puede llevar a bloqueos.
- Para descargas muy grandes es recomendable usar –continue y verificar la integridad con checksums.
Conclusión
Wget sigue siendo una de las herramientas más confiables y versátiles para descargar archivos desde la terminal de Linux. Su gran variedad de opciones permite adaptarse desde una simple captura de un archivo hasta la clonación completa de un sitio web para uso offline. Dominar su sintaxis y conocer las opciones más usadas te ahorrará tiempo y te dará mayor control sobre tus descargas. Ahora que tienes los conceptos básicos y varios ejemplos prácticos estás listo para incorporar wget en tu flujo de trabajo diario.