GNU Wget es una utilidad de línea de comandos para descargar archivos de la web. Con Wget, puede descargar archivos utilizando los protocolos HTTP, HTTPS y FTP. Wget ofrece una serie de opciones que le permiten descargar varios archivos, reanudar descargas, limitar el ancho de banda, realizar descargas recursivas, descargar en segundo plano, duplicar un sitio web y mucho más.
Este artículo muestra cómo usar el wget
comando a través de ejemplos prácticos y explicaciones detalladas de las opciones más comunes.
Instalando Wget #
El paquete wget está preinstalado en la mayoría de las distribuciones de Linux en la actualidad.
Para verificar si el paquete Wget está instalado en su sistema, abra su consola, escriba wget
y presione Intro. Si tiene wget instalado, el sistema imprimirá wget: missing URL
. De lo contrario, imprimirá wget command not found
.
Si wget
no está instalado, puedes instalarlo fácilmente usando el administrador de paquetes de tu distribución.
Instalando Wget en Ubuntu y Debian #
sudo apt install wget
Instalando Wget en CentOS y Fedora #
sudo yum install wget
Sintaxis del comando Wget #
Antes de entrar en cómo usar el wget
comando, comencemos revisando la sintaxis básica.
El wget
expresiones de utilidad toman la siguiente forma:
wget [options] [url]
options
- Las opciones de Wgeturl
- URL del archivo o directorio que desea descargar o sincronizar.
Cómo descargar un archivo con wget
#
En su forma más simple, cuando se usa sin ninguna opción, wget
descargará el recurso especificado en la [url] al directorio actual.
En el siguiente ejemplo, estamos descargando el archivo tar del kernel de Linux:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Como puede ver en la imagen de arriba, wget
comienza resolviendo la dirección IP del dominio, luego se conecta al servidor remoto e inicia la transferencia.
Durante la descarga, wget
muestra la barra de progreso junto con el nombre del archivo, el tamaño del archivo, la velocidad de descarga y el tiempo estimado para completar la descarga. Una vez que se completa la descarga, puede encontrar el archivo descargado en su directorio de trabajo actual.
Para apagar la salida, use -q
opción.
Si el archivo ya existe, wget
agregará .N
(número) al final del nombre del archivo.
Guardar el archivo descargado con un nombre diferente #
Para guardar el archivo descargado con un nombre diferente, pase -O
opción seguida del nombre elegido:
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
El comando anterior guardará el último archivo hugozip de GitHub como latest-hugo.zip
en lugar de su nombre original.
Descargando un Archivo a un Directorio Específico #
Por defecto, wget
guardará el archivo descargado en el directorio de trabajo actual. Para guardar el archivo en una ubicación específica, use -P
opción:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
El comando anterior le dice a wget
para guardar el archivo iso de CentOS 7 en /mnt/iso
directorio.
Limitación de la velocidad de descarga #
Para limitar la velocidad de descarga, use --limit-rate
opción. Por defecto, la velocidad se mide en bytes/segundo. Añadir k
para kilobytes, m
para megabytes y g
por gigas.
El siguiente comando descargará el binario Go y limitará la velocidad de descarga a 1 MB:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Esta opción es útil cuando no desea wget
para consumir todo el ancho de banda disponible.
Reanudación de una descarga #
Puede reanudar una descarga usando -c
opción. Esto es útil si su conexión se interrumpe durante la descarga de un archivo grande y, en lugar de iniciar la descarga desde cero, puede continuar con la anterior.
En el siguiente ejemplo, reanudamos la descarga del archivo iso de Ubuntu 18.04:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Si el servidor remoto no admite la reanudación de descargas, wget
iniciará la descarga desde el principio y sobrescribirá el archivo existente.
Descargando en segundo plano #
Para descargar en segundo plano, use -b
opción. En el siguiente ejemplo, estamos descargando el archivo iso de OpenSuse en segundo plano:
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
De forma predeterminada, la salida se redirige a wget-log
archivo en el directorio actual. Para ver el estado de la descarga, use la tail
comando:
tail -f wget-log
Cambiando el Número de Agente de Usuario de Wget
A veces, al descargar un archivo, el servidor remoto puede configurarse para bloquear el agente de usuario de Wget. En situaciones como esta, para emular un navegador diferente, pase -U
opción.
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
El comando anterior emulará Firefox 60 solicitando la página de wget-forbidden.com
Descargando varios archivos #
Si desea descargar varios archivos a la vez, use -i
seguida de la ruta a un archivo local o externo que contiene una lista de las URL que se descargarán. Cada URL debe estar en una línea separada.
El siguiente ejemplo muestra cómo descargar los archivos iso de Arch Linux, Debian y Fedora usando las URL especificadas en linux-distros.txt
archivo:
wget -i linux-distros.txt
linux-distros.txthttp://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
Si especifica -
como nombre de archivo, las URL se leerán desde la entrada estándar.
Descargando vía FTP #
Para descargar un archivo de un servidor FTP protegido con contraseña, especifique el nombre de usuario y la contraseña como se muestra a continuación:
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
Creando un espejo de un sitio web #
Para crear un espejo de un sitio web con wget
, use el -m
opción. Esto creará una copia local completa del sitio web siguiendo y descargando todos los enlaces internos, así como los recursos del sitio web (JavaScript, CSS, imágenes).
wget -m https://example.com
Si desea utilizar el sitio web descargado para la navegación local, deberá pasar algunos argumentos adicionales al comando anterior.
wget -m -k -p https://example.com
El -k
la opción hará que wget
para convertir los enlaces en los documentos descargados para que sean adecuados para la visualización local. El -p
opción le dirá a wget
para descargar todos los archivos necesarios para mostrar la página HTML.
Omisión de verificación de certificado #
Si desea descargar un archivo a través de HTTPS desde un host que tiene un certificado SSL no válido, use --no-check-certificate
opción:
wget --no-check-certificate https://domain-with-invalid-ss.com
Descargando a la Salida Estándar #
En el siguiente ejemplo, wget
calladamente ( flag -q
) descargue y envíe la última versión de WordPress a stdout ( flag -O -
) y canalícelo al tar
utilidad, que extraerá el archivo al /var/www
directorio.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
Conclusión #
Con wget
, puede descargar varios archivos, reanudar descargas parciales, duplicar sitios web y combinar las opciones de Wget según sus necesidades.
Para obtener más información sobre Wget, visite la página del manual de GNU wget.