Comando wget: Descargando archivos desde la terminal

comando-wget
comando-wget

El comando wget es otra herramienta potente en Linux diseñada para descargar archivos desde servidores web o FTP. Es no interactivo, lo que significa que puede ejecutarse en segundo plano o en scripts sin necesidad de intervención del usuario. A diferencia de curl, wget se centra en la descarga de archivos y la replicación de contenidos web, siendo ideal para descargas recursivas y tareas de automatización.

Sintaxis básica del comando wget

wget [opciones] [URL]
  • opciones: Varias banderas para personalizar el comportamiento de wget.
  • URL: La dirección del recurso que deseas descargar.

Ejemplos comunes

  • Descargar un Archivo Simple
wget https://example.com/archivo.txt
#en el directorio actual te descarga el archivo si existe, en este caso archivo.txt
  • Descargar con un Nombre Específico
wget -O nombre_personalizado.txt https://example.com/archivo.txt
#-O: Especifica un nombre personalizado para el archivo descargado.
  • Descargar en Segundo Plano
wget -b https://example.com/archivo_grande.zip
#-b: Inicia la descarga en segundo plano.
  • Reanudar una Descarga
wget -c https://example.com/archivo_grande.zip
#-c: Reanuda una descarga interrumpida si es posible.
  • Descargas Recursivas
wget -r https://example.com/directorio/
#-r: Descarga recursivamente todos los archivos y subdirectorios.
  • Espejo de un Sitio Web
wget -m https://example.com
#-m: Crea un espejo del sitio, descargando su contenido de manera estructurada.
  • Limitar la Velocidad de Descarga
wget --limit-rate=200k https://example.com/archivo.zip
#--limit-rate: Establece un límite de velocidad.
  • Usar Autenticación
wget --user=usuario --password=contraseña https://example.com/protegido
#--user y --password: Especifican credenciales para recursos protegidos.
  • Ignorar Certificados SSL
wget --no-check-certificate https://example.com/protegido
#--no-check-certificate: Omite la verificación del certificado SSL
  • Descargar Archivos de una Lista
wget -i lista_urls.txt
#-i: Especifica un archivo con una lista de URLs para descargar.

Opciones Comunes del comando wget

-q: Modo silencioso; #no muestra la salida en la terminal.
-nv: Modo no verboso; #muestra menos detalles que el predeterminado.
--progress=bar: #Cambia el estilo de la barra de progreso.
--timestamping: #Descarga solo archivos nuevos o modificados.
wget -N https://example.com/archivo.txt

-p: #Descarga todos los archivos necesarios para que una página HTML funcione correctamente.
wget -p https://example.com/pagina.html

--wait: #Introduce una pausa entre descargas (útil para no saturar el servidor).
wget --wait=5 -r https://example.com

--random-wait: #Introduce una pausa aleatoria entre descargas para simular navegación humana.

Ejemplo de descarga completa de un sitio

Supongamos que deseas descargar un sitio web entero para referencia local:

wget -m -k -p -E https://example.com
  • -m: Activa el modo espejo.
  • -k: Convierte los enlaces para que funcionen localmente.
  • -p: Descarga archivos necesarios para que las páginas funcionen (imágenes, CSS, etc.).
  • -E: Cambia las extensiones de las páginas a .html.

Diferencias principales entre wget y curl

Característicawgetcurl
Propósito PrincipalDescarga de archivos y contenido web.Transferencia de datos (descarga y subida).
Descargas RecursivasNo
Reanudar DescargasSí (-c)No tan directo, necesita scripting.
Protocolos CompatiblesHTTP, HTTPS, FTPHTTP, HTTPS, FTP, SFTP, SCP, y más.

Buenas Prácticas del comando wget

  • Usa –limit-rate y –wait para evitar sobrecargar servidores.
  • Valida las URLs antes de descargarlas, especialmente si usas archivos de listas.
  • Evita usar –no-check-certificate a menos que confíes plenamente en el servidor.

Conclusiones

El comando wget es una herramienta versátil y poderosa para descargar archivos desde la web. Permite realizar descargas simples, descargas recursivas para clonar sitios web, y ofrece opciones para renombrar archivos al descargarlos, entre otras funcionalidades. Su capacidad para manejar descargas de manera eficiente lo convierte en una herramienta esencial para usuarios de sistemas basados en Unix y otros entornos.

1 comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *