10 ejemplos de comandos Wget (descargador de archivos de Linux) en Linux
En este artículo, revisaremos la utilidad wget que recupera archivos de la World Wide Web (WWW) utilizando protocolos ampliamente utilizados como HTTP. , HTTPS, FTP y FTPS.
Wget es una utilidad de línea de comandos y un descargador de archivos de red gratuito que incluye muchas funciones que facilitan la descarga de archivos, entre las que se incluyen:
- Descargue archivos grandes o refleje sitios web o FTP completos.
- Descargue varios archivos a la vez.
- Establezca el ancho de banda y el límite de velocidad para las descargas.
- Descargar archivos a través de servidores proxy.
- Puede reanudar descargas canceladas.
- Reflejar directorios recursivamente.
- Se ejecuta en la mayoría de los sistemas operativos tipo UNIX, así como en Windows.
- Operación desatendida/en segundo plano.
- Soporte para conexiones HTTP persistentes.
- Soporte para SSL/TLS para descargas cifradas utilizando la biblioteca OpenSSL o GnuTLS.
- Soporte para descargas de IPv4 e IPv6.
Sintaxis del comando Wget
La sintaxis básica de Wget es:
wget [option] [URL]
Primero, verifique si la utilidad wget ya está instalada o no en su máquina Linux, usando el siguiente comando.
rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Instalar Wget en Linux
Si Wget no está instalado, puede instalarlo usando el administrador de paquetes predeterminado de su sistema Linux como se muestra.
sudo apt install wget -y [On Debian, Ubuntu and Mint]
sudo yum install wget -y [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a net-misc/wget [On Gentoo Linux]
sudo pacman -Sy wget [On Arch Linux]
sudo zypper install wget [On OpenSUSE]
La opción -y
utilizada aquí es para evitar mensajes de confirmación antes de instalar cualquier paquete. Para obtener más ejemplos y opciones de los comandos YUM y APT, lea nuestros artículos sobre:
- 20 comandos YUM de Linux para la gestión de paquetes
- 15 ejemplos de comandos APT en Ubuntu/Debian y Mint
- 45 ejemplos de comandos Zypper para administrar OpenSUSE Linux
1. Descargar un archivo con Wget
El comando descargará un único archivo y lo almacenará en un directorio actual. También muestra el progreso de la descarga, el tamaño, la fecha y la hora durante la descarga.
wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
--2021-12-10 04:15:16-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’
wget2-2.0.0.tar.gz 100%[==========>] 3.40M 2.31MB/s in 1.5s
2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
2. Descargar archivo Wget con un nombre diferente
Usando la opción -O
(mayúsculas), descarga archivos con diferentes nombres. Aquí le hemos dado el nombre del archivo wget.zip como se muestra a continuación.
wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
--2021-12-10 04:20:19-- http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 446966 (436K) [application/x-gzip]
Saving to: ‘wget.zip’
wget.zip 100%[===================>] 436.49K 510KB/s in 0.9s
2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]
3. Wget descarga varios archivos con protocolo HTTP y FTP
Aquí vemos cómo descargar varios archivos usando el protocolo HTTP y FTP con el comando wget simultáneamente.
wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig
--2021-12-10 06:45:17-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz
Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b
Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3565643 (3.4M) [application/x-gzip]
Saving to: ‘wget2-2.0.0.tar.gz’
wget2-2.0.0.tar.gz 100%[==========>] 4.40M 4.31MB/s in 1.1s
2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
4. Wget descarga varios archivos desde un archivo
Para descargar varios archivos a la vez, use la opción -i
con la ubicación del archivo que contiene la lista de URL que se descargarán. Cada URL debe agregarse en una línea separada como se muestra.
Por ejemplo, el siguiente archivo 'download-linux.txt' contiene la lista de URL que se descargarán.
cat download-linux.txt
https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
wget -i download-linux.txt
--2021-12-10 04:52:40-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.88.247, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3071934464 (2.9G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64 4%[=> ] 137.71M 11.2MB/s eta 3m 30s
...
Si su lista de URL tiene un patrón de numeración particular, puede agregar llaves para recuperar todas las URL que coincidan con el patrón. Por ejemplo, si desea descargar una serie de kernels de Linux a partir de la versión 5.1.1 a 5.1.15, puede hacer lo siguiente.
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz
--2021-12-10 05:46:59-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
linux-5.1.1.tar.gz 100%[===========>] 156.51M 2.59MB/s in 61s
2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671]
--2021-12-10 05:48:01-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz
Reusing existing connection to mirrors.edge.kernel.org:443.
HTTP request sent, awaiting response... 200 OK
Length: 164110470 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.2.tar.gz’
linux-5.1.2.tar.gz 19%[===========] 30.57M 2.58MB/s eta 50s
5. Wget Reanudar descarga incompleta
En caso de descarga de un archivo grande, a veces puede suceder que se detenga la descarga; en ese caso, podemos reanudar la descarga del mismo archivo donde se quedó con la opción -c
.
Pero cuando comienzas a descargar archivos sin especificar -c
, una opción wget agregará la extensión .1
al final del archivo, considerado como nuevo. descargar. Por lo tanto, es una buena práctica agregar el modificador -c cuando descargas archivos grandes.
# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:27:59-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.247, 91.189.91.123, 91.189.91.124, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64.iso 5%[++++++> ] 167.93M 11.1MB/s
^C
[root@tecmint ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
--2021-12-10 05:28:03-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.91.124, 91.189.91.123, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’
ubuntu-20.04.3-desktop-amd64.iso 10%[+++++++=====> ] 296.32M 17.2MB/s eta 2m 49s ^
6. Sitio web completo de Wget Mirror
Para descargar, reflejar o copiar un sitio web completo para verlo sin conexión, puede utilizar el siguiente comando que hará una copia local del sitio web junto con todos los recursos (JavaScript, CSS, imágenes).
wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Explicación del comando anterior.
wget \
--recursive \ # Download the whole site.
--page-requisites \ # Get all assets/elements (CSS/JS/images).
--adjust-extension \ # Save files with .html on the end.
--span-hosts \ # Include necessary assets from offsite as well.
--convert-links \ # Update links to still work in the static version.
--restrict-file-names=windows \ # Modify filenames to work in Windows as well.
--domains yoursite.com \ # Do not follow links outside this domain.
--no-parent \ # Don't follow links outside the directory you pass in.
yoursite.com/whatever/path # The URL to download
7. Wget Descargar archivos en segundo plano
Con la opción -b
puede enviar una descarga en segundo plano inmediatamente después de que comience la descarga y los registros se escriban en el archivo wget.log.
wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Continuing in background, pid 8999.
Output will be written to ‘wget.log’.
8. Wget establece límites de velocidad de descarga de archivos
Con la opción --limit-rate=100k
, el límite de velocidad de descarga está restringido a 100k y los registros se crearán en wget.log como se muestra a continuación.
wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso
Continuing in background, pid 9108.
Output will be written to ‘wget-log’.
Vea el archivo wget.log y verifique la velocidad de descarga del wget.
tail -f wget-log
5600K .......... .......... .......... .......... .......... 0% 104K 8h19m
5650K .......... .......... .......... .......... .......... 0% 103K 8h19m
5700K .......... .......... .......... .......... .......... 0% 105K 8h19m
5750K .......... .......... .......... .......... .......... 0% 104K 8h18m
5800K .......... .......... .......... .......... .......... 0% 104K 8h18m
5850K .......... .......... .......... .......... .......... 0% 105K 8h18m
5900K .......... .......... .......... .......... .......... 0% 103K 8h18m
5950K .......... .......... .......... .......... .......... 0% 105K 8h18m
6000K .......... .......... .......... .......... .......... 0% 69.0K 8h20m
6050K .......... .......... .......... .......... .......... 0% 106K 8h19m
6100K .......... .......... .......... .......... .......... 0% 98.5K 8h20m
6150K .......... .......... .......... .......... .......... 0% 110K 8h19m
6200K .......... .......... .......... .......... .......... 0% 104K 8h19m
6250K .......... .......... .......... .......... .......... 0% 104K 8h19m
...
9. Wget descarga archivos protegidos con contraseña a través de FTP y HTTP
Para descargar un archivo desde un servidor FTP protegido con contraseña, puede utilizar las opciones --ftp-user=username
y --ftp-password=password
como se muestra.
wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Para descargar un archivo desde un servidor HTTP protegido con contraseña, puede utilizar las opciones --http-user=username
y --http-password=password
como se muestra.
wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget ignora la verificación del certificado SSL
Para ignorar la verificación del certificado SSL mientras descarga archivos a través de HTTPS, puede usar la opción --no-check-certificate
:
wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
--2021-12-10 06:21:21-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz
Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1
Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted.
WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated.
The certificate has not yet been activated
HTTP request sent, awaiting response... 200 OK
Length: 164113671 (157M) [application/x-gzip]
Saving to: ‘linux-5.1.1.tar.gz’
...
11. Versión y ayuda de Wget
Con las opciones --version
y --help
puede ver la versión y la ayuda según sea necesario.
wget --version
wget --help
En este artículo, hemos cubierto los comandos wget de Linux con opciones para las tareas administrativas diarias. ¿man wget si quieres saber más al respecto? Comparta amablemente a través de nuestro cuadro de comentarios o, si nos hemos perdido algo, háganoslo saber.