Descarga de archivos en Linux desde la línea de comandos
Hablamos de diferentes herramientas disponibles en sistemas GNU/Linux que nos van a permitir la descarga de archivos desde Internet, utilizando su potente línea de comandos. Así que empecemos.
1. GNU Wget
Durante esta década de entradas en la web, sin duda wget es una de las herramientas que más he utilizado para la descarga de archivos. Se trata de una herramienta para la descarga no interactiva de archivos desde la Web. Es compatible con los protocolos HTTP, HTTPS y FTP, así como la recuperación a través de un proxy HTTP.
Como hemos dicho wget no es interactivo, lo que significa que puede funcionar en segundo plano, mientras el usuario no está conectado. Este le permite iniciar una recuperación y desconectarse del sistema, dejando que wget termine el trabajo. Por el contrario, la mayoría de los navegadores web requieren la presencia constante del usuario, lo que puede ser un gran obstáculo a la hora de transferir una gran cantidad de datos.
Otra de las ventajas es que puede seguir enlaces en páginas HTML, XHTML y CSS para crear versiones locales de sitios web remotos, recreando completamente la estructura de directorios del sitio original. Este a veces se llama “recarga recursiva”. Al hacerlo, wget respeta el estándar de exclusión de robots, esto es “robots.txt”. Podemos indicarle que convierta los enlaces de los archivos descargados para que apunten a los archivos locales para verlos sin conexión.
Y por último wget está diseñado para ser robusto en conexiones de red lentas e inestables; si una descarga falla debido a un problema de red, seguirá intentándolo hasta que se haya recuperado todo el archivo. Si el servidor admite la recuperación, le indicará al servidor que continúe con la descarga donde la dejó.
Su instalación es bien sencilla
#En sistemas con paquetería DEB sudo apt install wget #En sistemas con paquetería RPM sudo dnf install wget #O bien sudo yum install wget
Su uso básico sin parámetro o bien utilizando el parámetro -i
, indicando el fichero donde están ubicados los enlaces a utilizar para la descarga:
wget -i fichero-enlaces-descargas.txt
Si nos interesa que el fichero a descargar se guarde con otro nombre:
wget -O nombre-fichero URL-del-archivo-a-descargar
Descarga de un fichero vía FTP con autentificación:
wget -u usuario_ftp:contraseña_ftp -O URL-del-archivo-a-descargar
Descargar ficheros de manera recursiva:
wget -r URL-del-archivo-a-descargar
Descargar todos los ficheros que cumplan con un tipo de archivo desde una página web:
wget -r -A jpg,png URL-del-archivo-a-descargar
2. Curl
Curl es una herramienta para transferir datos desde o hacia un servidor, utilizando uno de los protocolos compatibles, por ejemplo, los más populares como FILE, FTP, FTPS, HTTP, HTTPS, IMAP, IMAPS, LDAP, POP3, SFTP, SMTP o TELNET, entre otros. El comando está diseñado para funcionar sin interacción del usuario.
Curl ofrece una gran cantidad de trucos útiles como soporte para proxy, autentificación de usuario, carga de FTP, publicación HTTP, conexiones SSL, cookies, resumen de transferencia de archivos, Metalink y mucho más.
Su instalación también es bien sencilla:
#En sistemas con paquetería DEB sudo apt install curl #En sistemas con paquetería RPM sudo dnf install curl #O bien sudo yum install curl
El uso habitual para descargar un fichero dado es la siguiente:
curl -O URL-del-archivo-a-descargar
Si queremos descargar varios archivos, se pueden concatenar, como en el ejemplo:
curl -O URL-del-archivo-a-descargar-1 -O URL-del-archivo-a-descargar-2
También podemos realizar una descarga guardando el fichero con otro nombre:
curl -o nombre-fichero URL-del-archivo-a-descargar
Si se trata de una descarga de un servidor FTP con autentificación:
curl -u usuario_ftp:contraseña_ftp -O URL-del-archivo-a-descargar
3. W3m
De esta herramienta ya os hablé hace unos cuantos años. Se trata de un navegador basado en texto que puede mostrar páginas web locales o remotas, así como otros documentos. Puede procesar tablas y marcos HTML, pero ignora JavaScript y las hojas de estilo CSS. W3m también puede servir como un localizador para archivos de texto nombrados como argumentos o pasados en la entrada estándar, y como un navegador de directorio de propósito general
Sus instrucciones de instalación son estas:
#En sistemas con paquetería DEB sudo apt install w3m #En sistemas con paquetería RPM sudo dnf install w3m #O bien sudo yum install w3m
A diferencia de las dos herramientas anteriores con w3m podemos navegar por una web dada y así localizar el fichero que queremos descargar:
w3m URL-a-consultar
4. Elinks
Se trata de una herramienta similar a w3m. Es un navegador WWW en modo texto, colores de apoyo, representación de tablas, descargar en segundo plano, interfaz de configuración basadas en menús, navegación de pestañas y código delegado. Admite marcos. Puede tener diferentes de archivos asociados. Además, puede manejar tanto archivos locales como URL remotas. Trabaja con la mayoría de los protocolos como HTTP, HTTPS y FTP, y de manera adicional otros como BitTorrent o SMB.
Las instrucciones para su instalación:
#En sistemas con paquetería DEB sudo apt install elinks #En sistemas con paquetería RPM sudo dnf install elinks #O bien sudo yum install elinks
ste programa nos permite navegar por una web para ubicar el fichero a descargar:
elinks URL-a-consultar
5. Otras herramientas
Existen otras herramientas que nos pueden servir para mover o copiar ficheros desde otros servidores y que son muy utilizadas en guiones o scripts, como por ejemplo scp o rsync, de las que ya hemos hablado.
Y esto es todo, espera que esta información os sea de utilidad en algún momento.