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.