curl es una herramienta que permite transferir datos desde o hacia un servidor mediante los protocolos HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, DICT, TELNET, LDAP o FILE.

Esta herramienta ofrece muchas características como el soporte de servidores proxy, autenticación de usuarios, subidas por FTP o el método POST de HTTP, conexiones SSL/TLS, cookies y resumen de transferencias de archivos, entre otras. Además provee una librería (libcurl) para ser utilizada por otros programas como método de descarga de archivos a través de Internet.

Como SysAdmin, es importante familiarizarse con esta herramienta para aquellos casos en los que no se disponga de la popular wget de GNU.



Cuando descargamos un archivo de Internet utilizando wget, esta herramienta generalmente detecta y reconoce el nombre de archivo y lo guarda en el directorio actual. Sin embargo curl, por defecto vuelca el contenido descargado desde el servidor remoto en la salida estándar. Esto significa que, para descargar un archivo (por ejemplo a través de HTTPS), es necesario recurrir al parámetro -o (escribir la salida en un archivo) junto con el nombre de archivo deseado:

curl -o ARCHIVO URL

Veamos un ejemplo. Se desea descargar el archivo pbzip2-1.1.12-1.el6.x86_64.rpm desde la siguiente URL:

http://mirror.upb.edu.co/epel/6/x86_64/pbzip2-1.1.12-1.el6.x86_64.rpm

A medida que avanza la descarga curl muestra la velocidad de transferencia y el total recibido, entre otros datos:

[root@centos6 ~]# curl -o pbzip2-1.1.12-1.el6.x86_64.rpm http://mirror.upb.edu.co/epel/6/x86_64/pbzip2-1.1.12-1.el6.x86_64.rpm
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 49124  100 49124    0     0  51542      0 --:--:-- --:--:-- --:--:-- 67201

Notar que el tamaño de archivo coincide con el total descargado:

[root@centos6 ~]# ll p*
-rw-r--r--. 1 root root 49124 nov 13 11:56 pbzip2-1.1.12-1.el6.x86_64.rpm

Para más información y otras opciones, revisar su página de manual:

man curl


Tal vez pueda interesarte


Compartí este artículo y dejá tu comentario