12 ejemplos útiles de comandos Wget en Linux

El comando Wget en Linux se usa para descargar archivos de la web usando los protocolos HTTP, HTTPS y FTP. En otras palabras, podemos decir que wget es una herramienta de descarga de línea de comandos no interactiva para sistemas Linux. También admite la descarga de archivos a través de servidores proxy HTTP.

Aquí, no interactivo significa que puede funcionar en segundo plano, mientras el usuario no ha iniciado sesión. Cuando hacemos la instalación mínima de las distribuciones de Linux, el comando wget no está instalado, así que para instalar wget en las distribuciones de Linux, ejecute

$ sudo yum install -y wget     // CentOS 7 / RHEL 7
$ sudo dnf install -y wget     // CentOS 8/ RHEL 8/ Rocky Linux 8
$ sudo apt install -y wget     // Ubuntu / Debian
$ sudo pacman -S wget          // Arch Linux
$ sudo zypper install wget     // OpenSUSE

En este tutorial, cubriremos 12 ejemplos útiles de comandos wget. Estos ejemplos lo ayudarán a comenzar a usar el comando wget como un profesional. Así que profundicemos en los ejemplos.

1) Descargar un solo archivo con wget

Para descargar un archivo usando el comando wget, simplemente escriba el comando wget seguido de la ruta absoluta del archivo, el ejemplo se muestra a continuación:

$ wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso

Este comando descargará el archivo ISO de Rocky Linux 8 en el directorio de trabajo actual del usuario.

2) Reanudar archivo descargado parcial (-c)

Hay algunos escenarios en los que comenzamos a descargar un archivo grande pero en el medio Internet se desconectó, por lo que al usar la opción ‘-c’ en el comando wget podemos reanudar nuestra descarga desde donde se desconectó. El ejemplo se muestra a continuación,

$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso

3) Descargar archivos en segundo plano (-b)

Use la opción ‘-b’ en el comando wget para descargar archivos en segundo plano. Esta opción se vuelve muy útil cuando el archivo es demasiado grande y desea usar la terminal para otras tareas.

$ wget -b https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
Continuing in background, pid 4505.
Output will be written to ‘wget-log’.

Como podemos ver arriba, el progreso de la descarga se captura en el archivo ‘wget-log’ en el directorio actual del usuario. Use el comando tail para ver el estado de la descarga.

$ tail -f wget-log
2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m
2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m
2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m
2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m
2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m
2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m
2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m
2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m
2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m
2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m
2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m
2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m

4) Limitar la velocidad de descarga en el comando wget

De manera predeterminada, el comando wget intenta usar el ancho de banda completo, pero puede darse el caso de que esté usando Internet compartido, por lo que si intenta descargar un archivo enorme usando wget, esto puede ralentizar el Internet de otros usuarios. Esta situación se puede evitar si limita la velocidad de descarga mediante la opción ‘–limit-rate’.

$ wget --limit-rate=100k https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso

En el comando wget anterior, hemos establecido el límite de descarga en 100K.

5) Descarga múltiples archivos con wget

Si desea descargar varios archivos con el comando wget, primero cree un archivo de texto y agregue todas las URL en ese archivo de texto. El ejemplo se muestra a continuación:

$ cat download-list.txt
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso

Ahora ejecute debajo del comando,

$ wget -i download-list.txt

El comando wget anterior comenzará a descargar los archivos ISO secuencialmente.

6) Aumentar los intentos de reintento en wget

Podemos aumentar los reintentos usando la opción ‘–tries’ en wget. De forma predeterminada, el comando wget vuelve a intentarlo 20 veces para que la descarga sea exitosa.

Esta opción se vuelve muy útil cuando tiene problemas con su conexión a Internet y está descargando un archivo grande.

$ wget --tries=75 https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso

El comando wget anterior intentará descargar el archivo un máximo de 75 veces.

7) Redirigir la salida del comando wget a un archivo de registro

Podemos redirigir la salida del comando wget a un archivo de registro usando la opción ‘-o’. El ejemplo se demuestra a continuación,

$ wget -o download.log https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

El archivo download.log se creará automáticamente en el directorio actual del usuario.

8) Descargue el sitio web completo para verlo localmente

Usando el comando wget podemos descargar el sitio web completo para visualización local, la sintaxis se muestra a continuación,

$ wget --mirror -p --convert-links -P ./<Local-Folder> website-URL

Donde

  • –mirror : activa las opciones adecuadas para la duplicación.
  • -p: descarga todos los archivos necesarios para mostrar correctamente una página HTML determinada.
  • –convert-links: después de la descarga, convierte los enlaces en el documento para verlos localmente.
  • -P ./Local-Folder : guarda todos los archivos y directorios en el directorio especificado.

9) Rechazar tipos de archivos durante la descarga

Cuando planea descargar el sitio web completo, podemos forzar el comando wget para que no descargue imágenes usando -rechazar opción .

$ wget --reject=png <Website-To-Be-Downloaded>

10) Configuración de la cuota de descarga en wget

Podemos forzar el comando wget para que deje de descargar cuando el tamaño de descarga exceda cierto tamaño. Use la opción ‘-Q’ en el comando wget para establecer la cuota de descarga.

$ wget -Q10m -i download-list.txt

Tenga en cuenta que la cuota nunca afectará la descarga de un solo archivo. Entonces, si especifica wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz, se descargarán todos los ls-lR.gz. Lo mismo ocurre incluso cuando se especifican varias URL en la línea de comandos. Sin embargo, la cuota funcionará solo cuando se recupere recursivamente o desde un archivo de entrada. Por lo tanto, puede escribir con seguridad ‘wget -Q10m -i download-list.txt’. La descarga se cancelará cuando se exceda la cuota.

11) Descarga de archivos desde un sitio protegido por contraseña

wget comandos

$ wget --ftp-user=<user-name> --ftp-password=<password> Download-URL
or 
$ wget --user <user_name> --password <password> http://<url-path>/file_to_be_downloaded

Otra forma de especificar el nombre de usuario y la contraseña es en la propia URL.

Cualquiera de los métodos revela su contraseña a cualquiera que se moleste en ejecutar «ps». Para evitar que se vean las contraseñas, guárdelas en .wgetrc o .netrc, y asegúrese de proteger esos archivos de otros usuarios con «chmod». Si las contraseñas son realmente importantes, no las deje en esos archivos, edítelos y elimínelos después de que wget haya iniciado la descarga.

12) Descarga de archivos saltándose las comprobaciones de certificados

Hay algunos escenarios en los que queremos descargar el archivo de los puertos https y queremos omitir las comprobaciones de certificados, por lo que se puede lograr utilizando la opción «–no-check-certificate» en el comando wget,

$ wget https://about.gitlab.com/ --no-check-certificate

Descargar Oracle Java usando el comando wget del portal https y omitir las comprobaciones de certificados

$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm --no-check-certificate

Descarga de archivos a través de proxy

Hay algunas situaciones en las que nuestro sistema se ejecuta detrás del servidor proxy, por lo que en tales situaciones primero debemos configurar el proxy y luego podemos usar el comando wget para descargar el archivo de Internet. Para configurar el proxy en la línea de comando, use las siguientes variables y el comando de exportación

$ export http_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
$ export https_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
$ export ftp_proxy=http://<Your-Proxy-IP>:<Proxy-Port>

En caso de que se requiera el nombre de usuario y la contraseña para que el proxy funcione, use lo siguiente

$ export http_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
$ export https_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
$ export ftp_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>

Ejemplo adicional

Descargue y extraiga el 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 realizar esta tarea usando el siguiente comando wget,

# wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip-components=1 -C /var/www/html

Eso es todo de este tutorial, espero que hayas encontrado estos ejemplos de comandos wget muy informativos. Comparta sus valiosos comentarios y comentarios en la sección de comentarios a continuación.

Entradas relacionadas

Deja una respuesta

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