miércoles, 9 de abril de 2014

Uso del comando wget para descarga de archivos en Linux


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 un poderoso comando para descarga de archivos llamado 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.

Ejemplos básicos
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, indícalos 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.

Ejemplos avanzados


wget canaima.softwarelibre.gob.ve


Puedes descargar toda una página completa, wget no está limitado a solo descargas de archivos. Sitios completos pueden descargarse también.


wget -p canaima.softwarelibre.gob.ve


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://canaima.softwarelibre.gob.ve/    
(o también)
wget -m http://canaima.softwarelibre.gob.ve/ 

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://canaima.softwarelibre.gob.ve
 (o tambíen)
wget -m -k -E http://canaima.softwarelibre.gob.ve

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.

2 comentarios:

  1. Hola tengo un problema en la canaima cuando intento descargar algun archivo simplemente no se guarda, en ninguna parte es como si no se descargara quiero solucionar este problema, la carpeta de descargas la borre y la volvi a crear e entrado a preferencias del cunaguaro y no aparece nada fallo en esta ventana y no se que podra ser lo que no edeja descargar ni abrir la carpeta de descargas del cunaguaro

    ResponderEliminar
  2. Buen material, gracias por compartir.

    ResponderEliminar