Copyright © 2005-2019 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.
Hay decenas de aplicaciones para descargar archivos, la mayoría basadas en interfaces Web y de escritorio, y para todos los sistemas operativos. Sin embargo en Linux (y también hay versión para Windows) existe el poderoso descargador de archivos wget
. Esta considerado como el descargador (downloader) más potente que existe, soporta http, https y ftp. En este artículo, a través de varios ejemplos aprenderás sus usos y opciones más comunes.
wget http://ejemplo.com/programa.tar.gz
La manera más simple de usarlo, descarga el archivo indicado.
wget http://ejemplo.com/programa.tar.gz ftp://otrositio.com/descargas/video.mpg
Es posible indicar más de una descarga a la vez, incluso con distintos protocolos.
wget http://ejemplo.com/*.pdf
Otra manera de descargar varios archivos, con extensión similar.
(creamos una lista en archivos.txt que serán descargados) http://ejemplo.com/programa.tar.gz http://ejemplo.com/rpm/paquete.rpm ftp://otrositio.com/descargas/distro.iso (descargamos todos indicando el archivo) wget -i archivos.txt
Si vas a descargar varios archivos, índicalos a través de una lista en un archivo.
wget -c http://ejemplo.com/distro.iso wget -i -c archivos.txt
Si la descarga se interrumpió por algún motivo, continuamos la descarga desde donde se haya quedado con la opción c.
wget -o reporte.txt http://ejemplo.com/programa.tar.gz
Proporciona un reporte (log) sobre la descarga.
$ wget -o /reporte.log --limit-rate=50k ftp://ftp.centos.org/download/centos5-dvd.iso
En descargas muy largas como el iso de alguna distro de Linux, puedes limitar el ancho de banda de la descarga en específico, ya que podría ser que la descarga se llevará todo el ancho de banda durante varias horas.
wget --http-user=admin --http-password=secreto http://ejemplo.com/archivo.mp3
Si es un sitio donde se requiere de usuario/contraseña usa estas opciones.
wget -t 50 http://ejemplo.com/pelicula.mpg
Por defecto, wget
realiza 20 intentos de establecer la conexión e iniciar la descarga, en sitios muy saturados es posible que ni con 20 intentos se logré, con la opción t (tries) aumenta a más intentos.
wget -t inf http://ejemplo.com/pelicula.mpg
¿Quieres que intente hasta que logré la conexión?, usa la opción 'inf' de intentos infinitos.
wget www.linuxtotal.com.mx
Puedes descargar toda una página completa, wget
no está limitado a solo descargas de archivos. Sitios completos pueden descargarse también.
wget -p www.linuxtotal.com.mx
Lo mismo que lo anterior pero con esta opción p descarga además todos los elementos extras necesarios de la página como hojas de estilos, imágenes en línea, etc.
wget -r www.ejemplo.com -o reporte.log wget -r -l10 www.ejemplo.com -o reporte.log
Con la opción r se descarga recursivamente hasta 5 niveles del sitio.
Con la opción l se aumenta el nivel de recursividad hasta el número indicado, también es posible usar 'inf' como valor de recursividad infinito.
wget --convert-links -r http://www.sitio.com/ (o también) wget -k -r http://www.sitio.com/
Por defecto, los enlaces dentro del sitio apuntan a la dirección del dominio completo. Si deseas descargar el sitio recursivamente y después estudiarlo fuera de línea (off line) usa la opción convert-links que los convertirá en enlaces locales, apuntando a las páginas dentro del sitio descargado.
wget -r -l3 -P/tmp/sitio ftp://www.unsitio.com/
Por defecto, el sitio a descargar se guarda en el mismo directorio donde estés ejecutando wget
, con la opción P puedes indicar un directorio distinto.
wget --mirror http://www.linuxtotal.com.mx/ (o también) wget -m http://www.linuxtotal.com.mx/
De este modo obtienes una copia (un espejo) completa del sitio. La opción --mirror es igual a usar las opciones -r -l inf -N que indica recursividad a nivel infinito y obtienendo la marca de tiempo original de cada archivo descargado (opción -N).
wget --mirror --convert-links --html-extension http://www.linuxtotal.com.mx (o tambíen) wget -m -k -E http://www.linuxtotal.com.mx
Si descargas el sitio completo para verlo fuera de línea (off line) es posible que varios archivos descargados no se abran, debido a extensiones como .cgi, .asp o .php, es entonces posible indicarle a wget
con la opción E o --html-extension que convierta todos los archivos a extensión .html.
wget -H -r -l3 -k -E -p http://miblog.sitiodeblogs.com
La opción H (span hosts) expande la recursividad a los sitios desde donde se enlace el original. Este comando descargará el sitio con una recursividad de 3 niveles (-r -l3), conviertiendo los enlaces a locales para examinarlo off line (-k), convierte todo a extensiones .html (-E), descarga completamente imágenes y demás elementos de cada página (-p) y además descarga la página externa de los enlaces que apunten fuera del sitio (-H).
Este tipo de descargas, dependiendo del sitio, puede llenar todo un disco duro!!!!, asi que úsalo a discresión.
El siguiente ejemplo viene muy bien detallado en este sitio, es una línea que busca archivos de música mp3 desde una lista de sitios que previamente hayas definido, recuerda, un renglón por cada sitio.
wget -r -l1 -H -t1 -nd -N -np -A.mp3 -erobots=off -i sitiosmp3.txt
Veámoslo por partes:
Si ejecutas este comando de manera diaria o a través de un cron entonces se descargará la música, y gracias a la marca de tiempo solo descargará los que sean más nuevos que el original.
Los anteriores ejemplos demuestran el enorme poder de "wget" y el porque es considerado el rey de los "downloaders".
Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.
Dona a través de paypal::
O a través de bitcoins:
Hay ocasiones que cuando busco un archivo dentro del listado de un directorio con varios archivos, usando ls, deseo ver solamente ....
El siguiente script te presenta la manera de colocar un reloj (hora y fecha) en la parte superior derecha de una terminal de texto....
¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y p....
He actualizado con varios nuevos comandos la popular guía de LinuxTotal.com.mx, asi como he añadido enlaces en los comandos en l....
Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....
Una tarea administrativa algo común, es eventualmente tener que añadir un nuevo disco duro (IDE) al o a los que ya se tienen, de....
EL espacio disponible en disco se determina con este comando built-in del sistema operativo Linux, df.....
Sistemas Linux con gran cantidad de usuarios, como servidores de correo, servidores samba, etc., tarde o temprano tienen el proble....
La gente considera encriptar algunos o todos sus archivos por múltiples razones. Ya sea que no puedan depender en seguridad físi....
El siguiente es un script muy básico de iptables que puedes usar para proteger un solo equipo conectado a Internet a través de u....