Google
 

lunes, 18 de junio de 2007

wget: descargas en Linux

/bin/bashSi queremos descargar un archivo desde Linux a parte de poder usar los navegadores tenemos wget.

    ¿Pero por qué usar wget?


    • Principalmente, porque es una herramienta muy potente y sencilla de usar,

    • Además, de que apenas consume recursos al ser manejada mediante la línea de comandos,

    • Permite continuar una descarga,

    • Se encuentra en la mayoría, por no decir todas, de las distribuciones GNU/Linux



    Unos ejemplos de su sintaxis:

    • Lo más sencillo es
      wget url_del_archivo

      wget http://www.debian.org/devel/debian-desktop/debian-desktop.png

    • Otra opción es si tenemos un archivo de texto con las url de los archivos a bajar, se pueden descargar todos simplemente con la opción
      wget -i archivo_de_texto

    • Además, como ya hemos dicho, permite continuar una descarga
      wget -c url_del_archivo

    • También, permite limitar el ancho de banda para que no lo consuma entero
      wget --limit-rate=80k url_del_archivo

      (Con esto limitamos el ancho de banda a 80Kb/s)
      Se puede especificar el límite en megas sustituyendo la k en 80k por una m (pero esto queda muy lejos de ser útil aquí en España)
    • Con esta otra opción podemos ver la cabecera HTTP que nos envia el servidor
      wget -S url_del_archivo
    • Descargar una carpeta completa de un ftp
    • wget -r ftp://www.dominio.com/carpeta1

En algunas descargas wget nos devuelve un error del tipo:
bash: error de sintaxis cerca de token no esperado


¿Y ahora que hacemos?¿Ya no podremos descargar con wget?Pues claro que sí.

Lo que tenemos que hacer es fijarnos, como dice el error, en los caracteres cercanos al token indicado. Si vemos algún carácter que no es una letra entonces el error puede estar ahí, wget/bash no reconoce, por ejemplo, los paréntesis.

Para solucionarlo tenemos que darle el valor en hexadecimal del carácter 'extraño' para que de esta forma lo reconozca.

Al igual que otras veces cuando descargamos algo los espacios se traduce como %20 pues los paréntesis también tienen su valor.

Ejemplo:
$ wget http://www.descargasmuyrapidas.com/liferea(ultimaversion).tar.gz
bash: error de sintaxis cerca de token no esperado `('

Solución:
$ wget http://www.descargasmuyrapidas.com/liferea%28ultimaversion%29.tar.gz


Os pongo un enlace para ver la tabla de códigos ASCII-hexadecimal-Símbolo


wget

    Yo cuando más lo he usado es para bajar archivos grandes que voy a parar y así poder continuar por donde me quedé, además inicio Linux sin el entorno gráfico y lo dejo corriendo en la consola.



No hay comentarios: