GNU/Linux >> Tutoriales Linux >  >> Linux

wget vs curl:Cómo descargar archivos usando wget y curl

Pregunta: Normalmente uso wget para descargar archivos. En algunos sistemas, wget no está instalado y solo está disponible curl. ¿Puede explicarme con un ejemplo simple sobre cómo puedo descargar un archivo remoto usando curl? ¿Hay alguna diferencia entre curl y wget?

Respuesta: En un nivel alto, tanto wget como curl son utilidades de línea de comandos que hacen lo mismo.

  • Ambos se pueden usar para descargar archivos mediante FTP y HTTP(s).
  • También puede enviar una solicitud HTTP POST usando curl y wget
  • Sin embargo, curl proporciona API que los programadores pueden usar dentro de su propio código. curl usa libcurl, que es una biblioteca multiplataforma.
  • wget es solo una herramienta de línea de comandos sin ninguna API.
  • Curl también admite muchos más protocolos que wget no admite. Por ejemplo:SCP, SFTP, TFTP, TELNET, LDAP(S), ARCHIVO, POP3, IMAP, SMTP, RTMP y RTSP.
  • Existe una gran ventaja en el uso de wget. wget admite la descarga recursiva, mientras que curl no.

Ejemplos de Wget

El siguiente ejemplo descarga el archivo y lo almacena con el mismo nombre que el servidor remoto.

wget http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

El siguiente ejemplo descarga el archivo y lo almacena con un nombre diferente al del servidor remoto. Esto es útil cuando la URL remota no contiene el nombre del archivo en la URL, como se muestra en el siguiente ejemplo.

wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Más ejemplos de wget:la guía de descarga de Wget definitiva con 15 ejemplos increíbles

Ejemplos de rizos

$ curl -O http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 28 3762k   28 1085k    0     0  72771      0  0:00:52  0:00:15  0:00:37 54267

La opción -O (O mayúscula) es importante. Sin esto, curl comenzará a volcar el archivo descargado en la salida estándar. Usando -O, descarga los archivos con el mismo nombre que el servidor remoto. En el ejemplo anterior, estamos descargando strx25-0.9.2.1.tar.bz2, por lo que el archivo descargado también tendrá el mismo nombre.

En lugar de -O, también puede especificar “–remote-name” como se muestra a continuación. Ambos son iguales.

$ curl --remote-name http://www.openss7.org/repos/tarballs/strx25-0.9.2.1.tar.bz2

Mientras se descarga curl, proporciona la siguiente información útil:

  • %:el % total de la descarga que se completó hasta el momento. Cuando llega al 100%, la descarga se completa. En el ejemplo anterior, ha descargado solo el 28 % del archivo.
  • Total:el tamaño total del archivo
  • Recibido:el tamaño total del archivo que se ha descargado hasta el momento. En el ejemplo anterior, ha descargado 1085k hasta ahora (de un total de 3762k)
  • Xferd:se usará cuando cargue algunos archivos en el servidor remoto. Durante la carga, esto indicará el tamaño total del archivo que se ha cargado hasta el momento. Dado que estamos descargando un archivo, en este ejemplo, este es 0.
  • Velocidad promedio de descarga:indica la velocidad promedio de descarga.
  • Velocidad promedio de carga:al cargar un archivo, esto indicará la velocidad promedio de carga
  • Tiempo total:indica el tiempo total que se tardará en descargar (o cargar) todo el archivo en función de la velocidad de descarga (o carga) actual. En este ejemplo, tomará aproximadamente un total de 52 segundos descargar este archivo.
  • Tiempo empleado:el tiempo que curl ha dedicado hasta ahora a descargar (o cargar) el archivo. En este ejemplo, ha tardado 15 segundos hasta ahora.
  • Tiempo restante:se calcula en función del "Tiempo total":"Tiempo empleado".
  • Velocidad actual:indica la velocidad actual de carga/descarga. Compare esto con la velocidad media de carga/descarga para ver qué tan rápido o lento se está descargando su sistema actualmente.

Si desea descargar el archivo y almacenarlo con un nombre diferente al nombre del archivo en el servidor remoto, use -o (o minúscula) como se muestra a continuación. Esto es útil cuando la URL remota no contiene el nombre del archivo en la URL, como se muestra en el siguiente ejemplo.

$  curl -o taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 50243  100 50243    0     0   170k      0 --:--:-- --:--:-- --:--:--  400k

En el ejemplo anterior, no hay un nombre de archivo en la URL remota, solo llama a un script php que le pasa algún parámetro. Sin embargo, el archivo se descargará y guardará como taglist.zip en su sistema local. En lugar de -o, también puede especificar "–salida".

Más ejemplos de curl:15 ejemplos prácticos de comandos cURL de Linux


Linux
  1. Cómo extraer archivos .gz y .tar.gz en Linux

  2. ¿Cómo saber si Wget está descargando un archivo?

  3. Cómo enviar y descargar archivos usando Rsync

  4. ¿Cómo descargo archivos desde la línea de comandos usando el comando wget?

  5. Cómo descargar un archivo desde URL en Linux

Cómo descargar archivos usando Wget a través de Proxy en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux

Cómo ocultar carpetas y archivos en Linux usando un archivo de texto

Cómo comprimir y extraer archivos usando el Administrador de archivos

Cómo descargar archivos en Rocky Linux 8 en la línea de comandos usando wget