GNU/Linux >> Tutoriales Linux >  >> Linux

Comando wget de Linux explicado con ejemplos

La herramienta de línea de comandos wget de Linux es una utilidad ingeniosa que se utiliza para descargar archivos a través de Internet. Por lo general, se usa cuando desea descargar archivos tarball y comprimidos, paquetes deb y rpm desde un sitio web.

Con el comando wget, puede descargar un archivo a través de protocolos HTTP, HTTPS o incluso FTP. Una serie de opciones que puede usar junto con el comando wget que lo hacen poderoso.

En este tutorial, veremos cómo usar el comando wget de GNU a través de ejemplos.

sintaxis de wget

La sintaxis para usar wget es bastante sencilla. Simplemente invoque el comando wget, seguido de las opciones y luego el enlace del sitio web como se muestra.

$ wget [ options ] url

Instalar wget

La mayoría de las distribuciones modernas de Linux se envían con la utilidad wget, por lo que no será necesario que la instale. Sin embargo, hay algunos casos en los que puede ser necesaria la instalación, especialmente en sistemas más antiguos y algunas instancias en la nube o para resolver el mensaje de error '–bash:wget:Command not found'.

Para versiones de Ubuntu y Debian, ejecute el siguiente comando usando el administrador de paquetes APT:

$ sudo apt-get install wget

Para instalar el comando wget en versiones RHEL/CentOS 8, ejecute:

$ sudo dnf install wget

Para versiones anteriores (RHEL 7 y CentOS 7 y anteriores) use el administrador de paquetes yum de la siguiente manera

$ sudo yum install wget

Para las distribuciones de Arch Linux y Arch Linux, como Manjaro, Arch Linux y Endeavor OS, use el administrador de paquetes pacman de la siguiente manera:

$ sudo pacman -S wget

Descargar un archivo de Internet

En su forma más básica, sin usar ninguna opción, el comando wget descarga un archivo de Internet como se especifica en la URL. La sintaxis más simple se muestra a continuación:

$ wget website_url

Por ejemplo, en el siguiente ejemplo, estamos descargando el tarball de WordPress más reciente del sitio oficial de WordPress.

$ wget https://wordpress.org/latest.tar.gz

A partir de la salida, podemos ver que wget primero resuelve el dominio del sitio web en una dirección IP, sobre la cual se conecta al servidor y luego inicia la transferencia de archivos. Cuando la descarga está en progreso, puede ver la barra de progreso que indica el nombre del archivo, el tamaño, la velocidad de descarga junto con el tiempo estimado de finalización de la descarga.

Una vez completada la descarga, asegúrese de encontrar el archivo en su directorio de trabajo actual. Esto se puede verificar invocando el comando ls.

Descargar archivo y guardar con un nombre específico

Si prefiere guardar el archivo con un nombre diferente al nombre original, simplemente pase el -O opción seguida de su nombre preferido.

$ wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

El comando anterior descarga el archivo original 'latest.tar.gz' del sitio de WordPress y lo guarda como 'wordpress.tar.gz'.

Descargar a un directorio específico

Como se discutió anteriormente, wget descarga el archivo a su directorio de trabajo actual. Puede especificar una ubicación de descarga diferente usando -P seguido de la ruta al directorio de destino.

$ wget -P /var/www/html https://wordpress.org/latest.tar.gz

En el ejemplo anterior, el archivo se guarda en el directorio /var/www/html.

Limitar la velocidad de descarga

Usando wget, también puede limitar la velocidad a la que se descargan los archivos. Para poner un límite a la velocidad de descarga, invoque --limit-rate opción seguida de la velocidad de descarga. La velocidad se suele medir en bytes por segundo.

Para establecer la velocidad límite en 500 KB/s, ejecute el siguiente comando:

$ wget --limit-rate=500k https://wordpress.org/latest.tar.gz

Cómo continuar recibiendo un archivo parcialmente descargado

A veces, durante la descarga de un archivo, su conexión puede caer repentinamente dejándolo con un archivo parcialmente descargado. En lugar de reiniciar la descarga, use wget -C opción para reanudar la descarga como se muestra.

$ wget -c https://wordpress.org/latest.tar.gz

En el ejemplo anterior, estamos reanudando la descarga del archivo tarball de WordPress. Tenga en cuenta que si el sitio web no responde a la reanudación de la descarga del archivo, el comando reiniciará la descarga del archivo y sobrescribirá el existente.

Descargar archivo en segundo plano

Para descargar un archivo en segundo plano, pase wget -b opción como se muestra a continuación.

$ wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

En el ejemplo anterior, estamos descargando el archivo ISO Manjaro KDE Plasma en segundo plano. Para monitorear el estado de la descarga, use el comando wget log como se muestra

$ tail –f wget –log

Descargar varios archivos

Si tiene varios archivos para descargar, es engorroso ejecutar el comando wget repetidamente en la terminal. Un mejor enfoque sería ejecutar el comando wget una vez para descargar los archivos uno tras otro.

Para lograr esto, guarde las URL del sitio web en un archivo de texto. A partir de entonces, invoque el comando wget con -i opción seguida del nombre del archivo de texto.

En este ejemplo, queremos descargar el archivo tarball de WordPress y el archivo comprimido OwnCloud. Primero, hemos guardado los enlaces de descarga en un archivo de muestra, llamémoslo 'downloads.txt':

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20200731.zip

Ahora, para descargar varios archivos, ejecute:

$ wget -i downloads.txt

Estos se descargarán uno tras otro. Y así es como descargas varios archivos.

Descargar un espejo de un sitio web

Otro uso poco conocido de wget es la capacidad de clonar o hacer una copia espejo de un sitio web. Puede lograr esto pasando -m opción como se muestra. Esto crea una copia espejo del sitio web junto con todos los enlaces internos y otros recursos como imágenes, widgets, Javascript y archivos CSS.

$ wget -m http://www.example.com

Si tiene la intención de clonar un sitio web para la navegación local, pase argumentos adicionales como se muestra.

$ wget -m -k -p http://www.example.com

El -k flag facilita la conversión del enlace a un formato adecuado para su visualización local. Mientras tanto, el -p La opción indica a la utilidad wget que descargue los archivos relevantes necesarios para mostrar contenido en una página HTML en un navegador.

Ignorar certificado SSL

Para evitar que se produzca un error al descargar un archivo a través de HTTPS desde un servidor web cuyo certificado SSL no es de confianza o no es válido, pase el --no-check-certificate opción:

$ wget --no-check-certificate https://domain-with-untrusted-ssl-cert

Descargar y redirigir la salida al archivo de registro

La salida del comando wget se puede registrar durante la descarga del archivo usando -o opción como se muestra:

$ wget -o download.log https://wordpress.org/latest.tar.gz

A partir de entonces, puede ver el archivo de registro en tiempo real a medida que avanza la descarga usando el comando tail como se muestra:

$ tail -f download.log

Limitar reintentos de descarga

A veces, puede experimentar velocidades de ancho de banda lentas que pueden impedirle descargar un archivo. Puede establecer el número de reintentos de descarga usando wget --tries=[no. of tries] opción como se muestra:

$ wget --tries=10 https://wordpress.org/latest.tar.gz

En el ejemplo anterior, get volverá a intentar la descarga del archivo tarball 10 veces antes de salir.

Descargar desde servidor FTP

También puede descargar un archivo desde un servidor FTP, incluso cuando está protegido por contraseña. Todo lo que necesita hacer es pasar el nombre de usuario y la contraseña de ftp en el comando wget como se muestra:

$ wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

Cambiar agente de usuario de wget

Un agente de usuario es esencialmente un campo de encabezado que un navegador envía a un servidor web. Si está descargando una página web, wget emulará un navegador web. Sucede que, en ocasiones, obtiene un error que indica que no tiene suficientes permisos para acceder al servidor. Cuando esto sucede, es probable que el sitio web o el servidor web esté bloqueando el navegador asociado con un 'User-Agent' en particular. Aquí hay una base de datos de los agentes de usuario que puede encontrar.

Para cambiar el agente de usuario, use la sintaxis:

$ wget -U "user agent" URL

Por ejemplo, para descargar el sitio ejemplo.com mientras emula la versión 74 de Google Chrome, que es la última versión, use:

$ wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

Descarga recursiva

Para descargar un sitio web para visualización local, debe activar las descargas recursivas con -r o --recursive y los enlaces se convierten en enlaces locales con -k o --convert-links opción.

Por ejemplo:

$ wget -rk https://example.com

Conclusión

Como ha observado, wget es una herramienta tan poderosa y flexible que puede usar para obtener archivos de Internet. En este tutorial, le mostré varias formas en que puede usar wget y cómo puede descargar archivos y páginas web desde servidores web a través de http, https y ftp. Para obtener más información sobre el uso del comando wget, visite las páginas man.


Linux
  1. Comando de apagado de Linux explicado con ejemplos

  2. Comando nslookup de Linux explicado con ejemplos

  3. Comando Traceroute de Linux, explicado con ejemplos

  4. Comando JQ en Linux con ejemplos

  5. Comando Wget en Linux con ejemplos

Comando Linux more explicado con ejemplos

Comando Tr en Linux explicado con ejemplos

w Comando explicado con ejemplos en Linux

Comando wget de Linux con ejemplos

Explicación del comando tee de Linux (con ejemplos)

Explicación del comando csplit de Linux (con ejemplos)