Uso de comando wget con ejemplos
Uso de comando wget con ejemplos

Cómo Utilizar el Comando wget con Ejemplos

Wget es una herramienta de línea de comandos gratuita que puedes utilizar para descargar archivos de Internet.

En este tutorial de wget, aprenderemos cómo instalar y cómo usar wget.

¿Qué es wget?

Wget es una herramienta gratuita de línea de comandos de GNU utilizada para descargar archivos de Internet. Recupera archivos utilizando los protocolos HTTP, HTTPS y FTP.

Sirve como herramienta para sostener conexiones de red inestables y lentas. Si se produce un problema de red durante una descarga, este útil software puede reanudar la recuperación de los archivos sin empezar desde cero.

Otro aspecto importante es su capacidad de realizar descargas recursivas, con las que refleja sitios web. Transfiere partes de un sitio web siguiendo los enlaces y la estructura de directorios, creando así versiones locales de las páginas web.

El comando wget también es muy flexible y puede utilizarse en terminales, scripts y trabajos cron. Durante la descarga, el usuario no tiene que estar activo ni conectado. Como wget no es interactivo, puede ejecutarse independientemente en segundo plano.

Lee este artículo para aprender a utilizar algunos de los comandos más comunes de wget.

¿Cómo Comprobar si wget está Instalado?

Lo más probable es que el paquete wget ya esté en tu sistema, ya que ahora viene preinstalado en la mayoría de las distribuciones de Linux.

Para comprobarlo, abre la ventana del terminal y escribe:

wget

Si tienes el software wget, la salida te indica que al comando wget le falta una URL, como se muestra en la imagen siguiente:

Comando wget en Linux
Comando wget en Linux

wget Command Not Found

Si la salida muestra que el comando wget no se encuentra (Comando wget no encontrado), debes descargar e instalar la herramienta manualmente. A continuación, encontrarás las instrucciones de instalación para Ubuntu/Debian, CentOS y Windows.

Instalar Wget

¿Cómo instalar wget en Ubuntu/Debian?

Para instalar wget en las versiones de Ubuntu o Debian, utiliza el comando:

sudo apt-get install wget

¿Cómo instalar wget en CentOS/Fedora?

Para instalar wget en CentOS o Fedora, escribe el siguiente comando:

sudo yum install wget

En otros sistemas:

$ sudo pacman -S wget          // Arch Linux
$ sudo zypper install wget     // OpenSUSE

¿Cómo instalar wget en Windows?

Para instalar y configurar wget para Windows:

  • Descarga wget para Windows e instala el paquete.
  • Añade la ruta bin de wget a las variables de entorno (opcional). Configurar esto elimina la necesidad de rutas completas, y hace que sea mucho más fácil ejecutar wget desde el símbolo del sistema:
  • Abre el menú Inicio y busca “entorno“.
  • Selecciona Editar las variables de entorno del sistema.
  • Selecciona la pestaña Avanzadas y haz clic en el botón Variables de entorno.
  • Selecciona la variable Path en Variables del Sistema.
  • Haz clic en Editar.
  • En el campo Editar variable de entorno, añade la ruta del directorio bin de wget precedida por un punto y coma (;).
  • Abre el símbolo del sistema (cmd.exe) y comienza a ejecutar los comandos de wget.

Introducción a la Sintaxis de wget

La sintaxis de wget tiene el siguiente patrón:

wget [option][URL]
  • Cada [ option ] tiene su forma larga y corta que son convenientemente intercambiables. Este atributo especifica qué hacer con la URL que sigue.
  • La [ URL ] es la dirección del archivo o directorio que se desea descargar.

Opciones básicas de inicio:

Comando versión de wget
Comando versión de wget
  • -V, --version: Muestra la versión de wget, y sale.
  • -h, --help: Imprime un mensaje de ayuda que describe todas las opciones de la línea de comandos de wget, y sale.
  • -b, --background: Pasa a segundo plano inmediatamente después del inicio. Si no se especifica ningún archivo de salida mediante -o, la salida se redirige a wget-log.

Ejemplos de Comandos wget

Descargar un archivo de la web

Para descargar un archivo desde la web utiliza:

wget [URL]

Por ejemplo, para instalar Tomcat 9, primero hay que descargar el paquete con wget utilizando el comando

wget http://apache.cs.utah.edu/tomcat/tomcat-9/v9.0.20/bin/apache-tomcat-9.0.20.tar.gz

Descargar un archivo y guardarlo con un nombre específico

Para descargar un archivo y guardarlo con un nombre específico ejecuta:

wget -O [nombre_archivo] [URL]

El comando wget te permite renombrar los archivos antes de descargarlos en tu ordenador.

Por ejemplo, puedes querer instalar Parrot OS. Para descargar el paquete y renombrarlo ParrotOS.iso utiliza el siguiente comando:

wget -O Parrot.OS.iso https://download.parrot.sh/parrot/iso/4.11.3/Parrot-security-4.11.3_amd64.iso
Descargar archivo con wget y especificar nombre
Descargar archivo con wget y especificar nombre

Descarga de archivos en un directorio específico

Por defecto, wget descarga un archivo en el directorio en el que se encuentra el usuario. Para guardar el archivo en una ubicación diferente, añade la opción -P:

wget -P [directorio_específico] [URL]

Por ejemplo, al instalar Git en Linux, puedes descargar el paquete en el directorio /temp con el comando

wget -P /temp https://github.com/git/git/archive/master.zip

Establecer la velocidad de descarga

Puedes establecer la velocidad de descarga cuando descargues un archivo grande, para que no utilices todo el ancho de banda disponible. La velocidad de descarga se define en kilobytes (k) y megabytes (m). Utiliza el comando:

wget --limit-rate [velocidad_establecida] [URL]

Por ejemplo, si estás instalando los drivers de NVIDIA TESLA en Linux y quieres limitar la velocidad de descarga a 1 megabyte, utilizarías el comando:

🤞 ¡No te pierdas ningún truco de seguridad!

¡No enviamos spam! Lee nuestra Política de Privacidad para más información.

wget --limit-rate 1m http://us.download.nvidia.com/tesla/415.25/nvidia-diag-driver-local-repo-ubuntu1804-415.25_1.0-1_amd64.deb

Continuar la descarga tras una interrupción

En lugar de tener que empezar desde cero, wget puede reanudar la descarga donde se detuvo antes de la interrupción. Esta es una función útil si se pierde la conexión mientras se descarga un archivo.

wget -c [URL]

Por ejemplo, es posible que quieras instalar un servidor de Mumble en Linux y de repente pierdas la conexión a Internet mientras descargas el archivo de instalación. Para continuar la descarga, escribe el comando:

wget -c https://github.com/mumble-voip/mumble/releases/download/1.2.19/murmur-static_x86-1.2.19.tar.bz2

Descarga de múltiples archivos

wget permite descargar varios archivos al mismo tiempo utilizando el comando:

wget -i [nombre_archivo]

Para ello, sigue los pasos que se indican a continuación:

  1. En primer lugar, crea y abre un archivo con el nombre MultiplesDescargas.txt (o un nombre de tu elección), utilizando un editor de texto. En este caso, utilizaré cat:
cat > MultiplesDescargas.txt
https://download.parrot.sh/parrot/iso/4.11.3/Parrot-security-4.11.3_amd64.iso
https://download.parrot.sh/parrot/iso/4.11.3/Parrot-home-4.11.3_amd64.iso
https://download.parrot.sh/parrot/iso/4.11.3/Parrot-home-4.11.3_virtual.ova
  1. Una vez en el editor, añade las URL de los paquetes que deseas descargar, una por línea.
  2. Guarda y salir del archivo.
  3. Ejecuta el siguiente comando wget en la ventana del terminal:
wget -i MultiplesDescargas.txt
Descargar múltiples archivos con wget
Descargar múltiples archivos con wget

Esto hace que wget descargue desde cada URL en el archivo de texto.

Descarga de una página web (Mirror Web page)

Con wget puedes descargar una página web completa de Internet para su visualización local, utilizando la opción -m (alternativamente puedes consultar Cómo Clonar un Sitio Web con httrack). Esta opción pide a wget que cree una réplica de la página web especificada. El comando básico para hacerlo es:

wget --mirror -p --convert-links -P ./<Carpeta-Local> [URL]

Donde

  • --mirror o -m: activa las opciones adecuadas para el mirroring.
  • -p : descargar todos los archivos necesarios para mostrar correctamente una determinada página HTML.
  • --convert-links : después de la descarga, convierte los enlaces en documento para su visualización local.
  • -P ./Carpeta-Local : guarda todos los archivos y directorios en el directorio especificado.

Por ejemplo:

wget -m -p --convert-links -P ./Documentos https://esgeeks.com
Descargar página web con wget
Descargar página web con wget

Rechazar tipos de archivos durante la descarga

Cuando estás planeando descargar un sitio web completo, entonces podemos forzar al comando wget a no descargar imágenes usando la opción ‘-reject‘.

wget --reject=png -m [URL]

Descarga por FTP

Para descargar a través de FTP, introduce el nombre de usuario y la contraseña del servidor FTP, seguidos de la dirección ftp:

wget --ftp-user=[usuario_ftp] --ftp-password=[contraseña_ftp] ftp://...

Por ejemplo:

wget --ftp-user=esgeeks --ftp-password=PasswordSecreta ftp://123.456.7890

Descarga en segundo plano

Puedes descargar en segundo plano, una característica práctica cuando se trata de un archivo grande:

wget -b [URL]

Puedes comprobar el estado de la descarga con el comando:

tail -f wget-log

O,

ps aux | grep wget

Para descargar el gestor de paquetes RPM en segundo plano, escribe:

wget -b https://sitioweb/ejemplo_archivo.rpm

Descargar y extraer archivo tar con un solo comando wget

Supongamos que queremos descargar la última versión del archivo tar de WordPress y queremos extraerlo en una carpeta específica como /var/www/html, así que para llevar a cabo esta tarea, utiliza el siguiente comando wget:

wget -c https://wordpress.org/latest.tar.gz -O - | sudo tar -xz -C /var/www/html
Descargar y extraer archivo tar con wget
Descargar y extraer archivo tar con wget

Aumentar los intentos de reintento

Puedes establecer cuántas veces wget intenta descargar un archivo después de ser interrumpido por una mala red con:

wget --tries=[número_de_intentos] [URL]

Por defecto, el número de reintentos está fijado en 20.

También puedes establecer el número hasta el infinito con los valores 0 o inf, como en el siguiente ejemplo:

wget --tries=inf http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Omitir la comprobación del certificado

Por defecto, wget comprueba si el servidor tiene un certificado SSL/TLS válido. Si no identifica un certificado auténtico, rechaza la descarga.

La opción --no-check-certificate se utiliza para evitar que las autoridades de certificación comprueben el certificado del servidor. Sin embargo, utilízala sólo si estás seguro de la credibilidad del sitio web o no te preocupan los problemas de seguridad que pueda causar.

wget --no-check-certificate [URL]

Si http://geeks.com tiene un certificado que no es de confianza, pero que no dañará el sistema, puedes descargarlo con:

wget --no-check-certificate http://geeks.com

Cambiar el agente de usuario

Al descargar una página web, wget emula esencialmente un navegador. En algunos casos, la salida puede decir que no tienes permiso para acceder al servidor, o que la conexión está prohibida. Esto puede deberse a que un sitio web bloquea los navegadores de clientes que tienen un “User-Agent” específico.

User-Agent” es un campo de cabecera que el navegador envía al servidor al que quiere acceder. Por lo tanto, para descargar desde un servidor que se niega a conectarse, intenta modificar el agente de usuario.

Encuentra una base de datos de todos los agentes de usuario en línea, busca el que necesitas y ejecuta el comando:

wget --user-agent="User Agent Aquí" "[URL]"

O,

wget -U "User Agent Aquí" "[URL]"

Por ejemplo, para emular Chrome (versión 95), se cambiaría el agente de usuario con el comando:

wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36" "https://esgeeks.com"

Conclusión

Este artículo resume por qué wget es una herramienta tan poderosa para descargar archivos a través de Internet. También sirve como una buena referencia para los principiantes con su lista de los mejores comandos esenciales de wget con ejemplos.

Para saber más sobre Wget, visita la página de manual de wget.

Mi Carro Close (×)

Tu carrito está vacío
Ver tienda