GNU/Linux >> Linux Esercitazione >  >> Linux

wget vs curl:come scaricare file usando wget e curl

Domanda: Di solito uso wget per scaricare i file. Su alcuni sistemi, wget non è installato ed è disponibile solo curl. Puoi spiegarmi con un semplice esempio su come posso scaricare un file remoto usando curl? Ci sono differenze tra curl e wget?

Risposta: Ad alto livello, sia wget che curl sono utilità della riga di comando che fanno la stessa cosa.

  • Entrambi possono essere utilizzati per scaricare file utilizzando FTP e HTTP(s).
  • Puoi anche inviare una richiesta HTTP POST usando curl e wget
  • Tuttavia curl fornisce API che possono essere utilizzate dai programmatori all'interno del proprio codice. curl usa libcurl che è una libreria multipiattaforma.
  • wget è solo uno strumento da riga di comando senza API.
  • Curl supporta anche molti più protocolli che wget non supporta. Ad esempio:SCP, SFTP, TFTP, TELNET, LDAP(S), FILE, POP3, IMAP, SMTP, RTMP e RTSP.
  • C'è un grande vantaggio nell'usare wget. wget supporta il download ricorsivo, mentre curl no.

Esempi di Wget

L'esempio seguente scarica il file e lo archivia con lo stesso nome del server remoto.

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

L'esempio seguente scarica il file e lo archivia con un nome diverso rispetto al server remoto. Ciò è utile quando l'URL remoto non contiene il nome del file nell'URL, come mostrato nell'esempio seguente.

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

Altri esempi di wget:The Ultimate Wget Download Guide con 15 fantastici esempi

Esempi di ricci

$ 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

L'opzione -O (O maiuscola) è importante. Senza questo, curl inizierà a scaricare il file scaricato sullo stdout. Usando -O, scarica i file con lo stesso nome del server remoto. Nell'esempio sopra, stiamo scaricando strx25-0.9.2.1.tar.bz2, quindi anche il file scaricato avrà lo stesso nome.

Invece di -O, puoi anche specificare "–nome-remoto" come mostrato di seguito. Entrambi sono uguali.

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

Durante il download curl fornisce le seguenti informazioni utili:

  • % – La % totale del download che è stato completato al momento. Quando arriva al 100% il download è completato. Nell'esempio sopra, ha scaricato solo il 28% del file.
  • Totale:la dimensione totale del file
  • Ricevuto:la dimensione totale del file che è stato scaricato finora. Nell'esempio sopra, finora ha scaricato 1085k (su un totale di 3762k)
  • Xferd – Verrà utilizzato quando carichi alcuni file sul server remoto. Durante il caricamento, questo indicherà la dimensione totale del file che è stato caricato finora. Poiché stiamo scaricando un file, in questo esempio è 0.
  • Average Speed ​​Dload:indica la velocità media di download.
  • Velocità media di caricamento:durante il caricamento di un file, questo indicherà la velocità media di caricamento
  • Tempo totale:indica il tempo totale necessario per scaricare (o caricare) l'intero file in base alla velocità di download (o caricamento) corrente. In questo esempio, ci vorranno circa 52 secondi in totale per scaricare questo file.
  • Tempo speso – Il tempo che curl ha impiegato finora per scaricare (o caricare) il file. In questo esempio, sono trascorsi 15 secondi finora.
  • Tempo rimasto:viene calcolato in base a "Tempo totale" - "Tempo trascorso".
  • Velocità attuale:indica la velocità di download/upload corrente. Confronta questo con il caricamento/caricamento medio con velocità media per vedere la velocità o la lentezza del download del tuo sistema in questo momento.

Se si desidera scaricare il file e memorizzarlo con un nome diverso dal nome del file nel server remoto, utilizzare -o (o minuscola) come mostrato di seguito. Ciò è utile quando l'URL remoto non contiene il nome del file nell'URL, come mostrato nell'esempio seguente.

$  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

Nell'esempio sopra, non c'è un nome di file nell'URL remoto, chiama semplicemente uno script php che gli passa alcuni parametri. Tuttavia, il file verrà scaricato e salvato come taglist.zip sul tuo sistema locale. Invece di -o, puoi anche specificare "–output".

Altri esempi di curl:15 pratici esempi di comandi cURL di Linux


Linux
  1. Come estrarre i file .gz e .tar.gz in Linux

  2. Come sapere se un file viene scaricato da Wget?

  3. 5 Esempi di comandi Wget per scaricare file in Linux.

  4. Come faccio a scaricare i file dalla riga di comando usando il comando wget?

  5. Come scaricare un file dall'URL in Linux

Come scaricare file utilizzando Wget tramite proxy in Linux

Come scaricare file con il comando Curl in Linux

Come scaricare file con il comando Wget in Linux

Come nascondere cartelle e file in Linux usando un file di testo

Come comprimere ed estrarre file utilizzando File Manager

Come scaricare file in Rocky Linux 8 sulla riga di comando usando wget