Saltar al contenido

comando curl en Linux con ejemplos

septiembre 22, 2021
gfg 200x200 min

rizo es una herramienta de línea de comandos para transferir datos hacia o desde un servidor, utilizando cualquiera de los protocolos admitidos (HTTP, FTP, IMAP, POP3, SCP, SFTP, SMTP, TFTP, TELNET, LDAP o FILE). rizo funciona con Libcurl. Esta herramienta es la preferida para la automatización, ya que está diseñada para funcionar sin interacción del usuario. curl puede transferir varios archivos a la vez.

Sintaxis:

curl [options] [URL...]

URL : Los usos más básicos de curl es escribir el comando seguido de la URL.


curl https://www.geeksforgeeks.org

Esto debería mostrar el contenido de la URL en la terminal. La sintaxis de la URL depende del protocolo y se pueden escribir varias URL como conjuntos como:


curl http://site.{one, two, three}.com

Las URL con series de secuencia numérica se pueden escribir como:


curl ftp://ftp.example.com/file[1-20].jpeg

Medidor de progreso: curl muestra un medidor de progreso durante el uso para indicar la tasa de transferencia, la cantidad de datos transferidos, el tiempo restante, etc.


curl -# -o ftp://ftp.example.com/file.zip
curl --silent ftp://ftp.example.com/file.zip

Si le gusta una barra de progreso en lugar de un medidor, puede usar el – # opción como en el ejemplo anterior, o -silencio si desea desactivarlo por completo.

Ejemplo:

prog meter

Opciones:

  • -o: guarda el archivo descargado en la máquina local con el nombre proporcionado en los parámetros.

    Sintaxis:

    
    curl -o [file_name] [URL...]
    

    Ejemplo:

    
    curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip
    

    Producción:

    prog meter

    El ejemplo anterior descarga el archivo del servidor FTP y lo guarda con el nombre hola zip.

  • -O: Esta opción descarga el archivo y lo guarda con el mismo nombre que en la URL.

    Sintaxis:

    
    curl -O [URL...]
    

    Ejemplo:

    curl -O ftp://speedtest.tele2.net/1MB.zip

    Producción:

    output 296

  • -C – : Esta opción reanuda la descarga que se ha detenido por algún motivo. Esto es útil cuando se descargan archivos grandes y se interrumpió.

    Sintaxis:

    
    curl -C - [URL...]
    

    Ejemplo:

    curl -C - -O ftp://speedtest.tele2.net/1MB.zip

    continue 2

  • –Tasa límite: Esta opción limita el límite superior de la tasa de transferencia de datos y lo mantiene alrededor del valor dado en bytes.

    Sintaxis:

    
    curl --limit-rate [value] [URL]
    

    Ejemplo:

    
    curl --limit-rate 1000K -O ftp://speedtest.tele2.net/1MB.zip
    

    Producción:

    limit

    El comando limita la descarga a 1000K bytes.

  • -u: curl también ofrece opciones para descargar archivos desde servidores FTP autenticados por el usuario.

    Sintaxis:

    
    curl -u {username}:{password} [FTP_URL]
    

    Ejemplo:

    curl -u demo:password -O ftp://test.rebex.net/readme.txt

    Ejemplo:

    ftp

  • -T: Esta opción ayuda a cargar un archivo en el servidor FTP.

    Sintaxis:

    
    curl -u {username}:{password} -T {filename} {FTP_Location}
    

    Si desea agregar un archivo FTP ya existente, puede usar el -a o –append opción.

  • –Libcurl:Esta opción es muy útil desde la perspectiva de los desarrolladores. Si esta opción se agrega a cualquier comando cURL, genera el código fuente C que usa libcurl para la opción especificada. Es el código similar a la implementación de la línea de comandos.

    Sintaxis:

    
    curl [URL...] --libcurl [filename]
    

    Ejemplo:

    
    curl https://www.geeksforgeeks.org > log.html --libcurl code.c
    

    Producción:

    libcurl

    El ejemplo anterior descarga el HTML y lo guarda en log.html y el código en el archivo code.c. El siguiente comando muestra las primeras 30 líneas del código.

  • -x, –proxy: curl también nos permite usar un proxy para acceder a la URL.

    Sintaxis:

    
    curl -x [proxy_name]:[port] [URL...]
    

    Si el proxy requiere autenticación, se puede usar con el comando:

    
    curl -u [user]:[password] -x [proxy_name]:[port] [URL...]
    
  • Enviando correo : Como curl puede transferir datos a través de diferentes protocolos, incluido SMTP, podemos usar curl para enviar correos.

    Sintaxis:

    curl –url [SMTP URL] -correo de [sender_mail] –Mail-rcpt [receiver_mail] -n –ssl-reqd -u {correo electrónico}: {contraseña} -T [Mail text file]

  • Protocolo DICT: Libcurl define el protocolo DICT que se puede utilizar para obtener fácilmente la definición o el significado de cualquier palabra directamente desde la línea de comando.

    Sintaxis:

    
    curl [protocol:[dictionary_URL]:[word]
    

    Ejemplo:

    
    curl dict://dict.org/d:root
    

    Producción:

    dict

Nota: Hay una serie de otras opciones proporcionadas por cURL que se pueden comprobar en la página del manual. La biblioteca Libcurl se ha adaptado a varios lenguajes de programación. Es recomendable visitar el sitio del proyecto individual para obtener documentación.

close