Comando curl · 4 min read · Sep 16, 2025
Tutorial del comando curl de Linux para principiantes (5 ejemplos)

El comando curl es una herramienta poderosa y versátil utilizada para transferir datos hacia o desde un servidor utilizando varios protocolos, como HTTP, HTTPS, FTP y más. Significa “Client URL” y se utiliza comúnmente para solicitudes web, permitiendo a los usuarios descargar archivos, enviar datos a través de solicitudes POST e incluso interactuar con APIs RESTful directamente desde la línea de comandos. El comando curl puede manejar una amplia gama de tareas, desde descargas simples de archivos hasta formularios multipart complejos, y a menudo se utiliza en scripts para automatización debido a su flexibilidad y capacidad para proporcionar una salida detallada, lo que lo convierte en una utilidad esencial en un entorno Linux.
En este tutorial, discutiremos el comando curl que, entre otras cosas, te permite descargar cosas de la Web. Ten en cuenta que los ejemplos discutidos en este artículo están probados en Ubuntu 24.04.
Comando curl de Linux
El comando curl te permite descargar y subir datos a través de la línea de comandos de Linux. A continuación se muestra su sintaxis:
curl [options] [URL...]Y esto es lo que dice la página del manual sobre este comando:
curl es una herramienta para transferir datos desde o hacia un servidor, utilizando uno de los protocolos soportados (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET y TFTP). El comando está diseñado para funcionar sin interacción del usuario.
curl ofrece un montón de trucos útiles como soporte para proxy, autenticación de usuario, carga FTP, POST HTTP, conexiones SSL, cookies, reanudación de transferencia de archivos, Metalink y más. Como verás a continuación, ¡el número de características te dejará atónito!
curl está impulsado por libcurl para todas las características relacionadas con la transferencia. Consulta libcurl(3) para más detalles.A continuación se presentan algunos ejemplos en formato de preguntas y respuestas que deberían darte una mejor idea de cómo funciona curl.
P1. ¿Cómo funciona el comando curl?
El uso básico es bastante simple: solo pasa la URL como entrada al comando curl y redirige la salida a un archivo.
Por ejemplo:
curl http://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso.torrent > test.torrentTen en cuenta que también puedes usar la opción -o aquí.
-o, --output
Escribe la salida en en lugar de stdout. Volviendo a nuestro ejemplo, mientras los datos se descargaron en el archivo ‘test.torrent’ en mi sistema, se produjo la siguiente salida en la línea de comandos:
Esto es lo que dice la página del manual sobre este medidor de progreso que se muestra en la salida:
curl normalmente muestra un medidor de progreso durante las operaciones, indicando la cantidad de datos transferidos, las velocidades de transferencia y el tiempo estimado restante, etc.
curl muestra estos datos en la terminal por defecto, así que si invocas curl para hacer una operación y está a punto de escribir datos en la terminal, desactiva el medidor de progreso ya que de lo contrario estropearía la salida mezclando el medidor de progreso y los datos de respuesta.
Si deseas un medidor de progreso para solicitudes HTTP POST o PUT, necesitas redirigir la salida de respuesta a un archivo, usando redirección de shell (>), -o [file] o similar.
No es el mismo caso para la carga FTP ya que esa operación no genera datos de respuesta en la terminal.
Si prefieres una "barra" de progreso en lugar del medidor regular, -# es tu amigo.P2. ¿Cómo hacer que curl use el mismo nombre de archivo de descarga?
En el ejemplo anterior, ves que tuvimos que especificar explícitamente el nombre del archivo descargado. Sin embargo, puedes forzar a curl a usar el nombre del archivo que se está descargando como el nombre del archivo local. Esto se puede hacer utilizando la opción de línea de comandos -O.
curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrentAsí que en este caso, se produjo un archivo llamado ‘ubuntu-18.04-desktop-amd64.iso.torrent’ en la salida de mi sistema.
P3. ¿Cómo descargar múltiples archivos usando curl?
Esto tampoco es complicado: solo pasa las URLs de la siguiente manera:
curl -O [URL1] -O [URL2] -O [URL3] ...Por ejemplo:
curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent -O http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso.torrentAquí está el comando anterior en acción:
Así que puedes ver que el progreso de la descarga para ambas URLs se mostró en la salida.
P4. ¿Cómo resolver el problema de ‘movido’?
A veces, cuando pasas una URL al comando curl, obtienes errores como “Movido” o “Movido Permanentemente”. Esto suele suceder cuando la URL de entrada redirige a otra URL. Por ejemplo, abres un sitio web, digamos oneplus.com, y redirige a una URL para tu país de origen (como oneplus.in), así que obtienes un error como el siguiente:
Si deseas que curl siga la redirección, usa la opción de línea de comandos -L en su lugar.
curl -L http://www.oneplus.comP5. ¿Cómo reanudar una descarga desde el punto de interrupción?
A veces, una descarga se interrumpe en medio. Así que, para ahorrar tiempo y datos, cuando intentas nuevamente, puedes querer que comience desde el punto en el que se interrumpió. Curl te permite hacer esto utilizando la opción de línea de comandos -C.
Por ejemplo:
curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.isoLa siguiente captura de pantalla muestra el comando curl reanudando la descarga después de que fue interrumpida.
Conclusión
Así que puedes ver, el comando curl es una utilidad útil si te gusta descargar cosas a través de la línea de comandos. Solo hemos arañado la superficie aquí, ya que la herramienta ofrece muchas más características. Una vez que hayas terminado de practicar las opciones de línea de comandos discutidas en este tutorial, puedes dirigirte a la página del manual de curl para aprender más sobre ella.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.