Comando curl · 4 min read · Sep 16, 2025

Tutorial sul comando curl di Linux per principianti (5 esempi)

Il comando curl è uno strumento potente e versatile utilizzato per trasferire dati da o verso un server utilizzando vari protocolli, come HTTP, HTTPS, FTP e altro. Sta per “Client URL” ed è comunemente utilizzato per richieste web, consentendo agli utenti di scaricare file, inviare dati tramite richieste POST e persino interagire direttamente con le API RESTful dalla riga di comando. Il comando curl può gestire una vasta gamma di compiti, dai semplici download di file a moduli complessi multipart, ed è spesso utilizzato negli script per l’automazione grazie alla sua flessibilità e alla capacità di fornire output dettagliati, rendendolo un’utilità essenziale in un ambiente Linux.

In questo tutorial, discuteremo del comando curl che, tra le altre cose, ti consente di scaricare contenuti dal Web. Si prega di notare che gli esempi discussi in questo articolo sono stati testati su Ubuntu 24.04.

Comando curl di Linux

Il comando curl ti consente di scaricare e caricare dati tramite la riga di comando di Linux. Di seguito è riportata la sua sintassi:

curl [options] [URL...]

Ecco cosa dice la pagina man su questo comando:

curl è uno strumento per trasferire dati da o verso un server, utilizzando uno dei protocolli supportati (DICT, FILE, FTP, FTPS, GOPHER, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET e TFTP). Il comando è progettato per funzionare senza interazione dell'utente.

curl offre una miriade di trucchi utili come supporto per proxy, autenticazione utente, caricamento FTP, POST HTTP, connessioni SSL, cookie, ripresa del trasferimento file, Metalink e altro ancora. Come vedrai di seguito, il numero di funzionalità ti farà girare la testa!

curl è alimentato da libcurl per tutte le funzionalità relative al trasferimento. Vedi libcurl(3) per dettagli.

Di seguito sono riportati alcuni esempi in stile Q&A che dovrebbero darti un’idea migliore di come funziona curl.

D1. Come funziona il comando curl?

L’uso di base è piuttosto semplice: basta passare l’URL come input al comando curl e reindirizzare l’output a un file.

Ad esempio:

curl http://releases.ubuntu.com/24.04/ubuntu-24.04-desktop-amd64.iso.torrent > test.torrent

Nota che puoi anche usare qui l’opzione -o.

-o, --output 
Scrivi l'output in  invece di stdout.

Tornando al nostro esempio, mentre i dati venivano scaricati nel file ‘test.torrent’ sul mio sistema, il seguente output è stato prodotto sulla riga di comando:

Ecco cosa dice la pagina man su questo misuratore di progresso che viene visualizzato nell’output:

curl normalmente visualizza un misuratore di progresso durante le operazioni, indicando la quantità di dati trasferiti, le velocità di trasferimento e il tempo stimato rimanente, ecc.

curl visualizza questi dati nel terminale per impostazione predefinita, quindi se invochi curl per eseguire un'operazione e sta per scrivere dati nel terminale, disabilita il misuratore di progresso poiché altrimenti rovinerebbe l'output mescolando il misuratore di progresso e i dati di risposta.

Se desideri un misuratore di progresso per le richieste HTTP POST o PUT, devi reindirizzare l'output della risposta a un file, utilizzando il reindirizzamento della shell (>), -o [file] o simile.

Non è lo stesso caso per il caricamento FTP poiché quell'operazione non restituisce alcun dato di risposta al terminale.

Se preferisci una "barra" di progresso invece del misuratore regolare, -# è il tuo amico.

D2. Come far sì che curl utilizzi lo stesso nome del file scaricato?

Nell’esempio precedente, vedi, abbiamo dovuto specificare esplicitamente il nome del file scaricato. Tuttavia, puoi costringere curl a utilizzare il nome del file che viene scaricato come nome del file locale. Questo può essere fatto utilizzando l’opzione della riga di comando -O.

curl -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso.torrent

Quindi in questo caso, un file chiamato ‘ubuntu-18.04-desktop-amd64.iso.torrent’ è stato prodotto nell’output sul mio sistema.

D3. Come scaricare più file utilizzando curl?

Questo non è complicato nemmeno - basta passare gli URL nel modo seguente:

curl -O [URL1] -O [URL2] -O [URL3] ...

Ad esempio:

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.torrent

Ecco il comando sopra in azione:

Quindi puoi vedere il progresso del download per entrambi gli URL è stato mostrato nell’output.

D4. Come risolvere il problema ‘spostato’?

A volte, quando passi un URL al comando curl, ottieni errori come “Spostato” o “Spostato Permanentemente”. Questo di solito accade quando l’URL di input reindirizza a un altro URL. Ad esempio, apri un sito web, diciamo oneplus.com, e viene reindirizzato a un URL per il tuo paese (come oneplus.in), quindi ottieni un errore come il seguente:

Se desideri che curl segua il reindirizzamento, utilizza l’opzione della riga di comando -L.

curl -L http://www.oneplus.com

D5. Come riprendere un download dal punto di interruzione?

A volte, un download viene interrotto nel mezzo. Quindi, per risparmiare tempo e dati, quando riprovi, potresti voler iniziare dal punto in cui è stato interrotto. Curl ti consente di farlo utilizzando l’opzione della riga di comando -C.

Ad esempio:

curl -C - -O http://releases.ubuntu.com/18.04/ubuntu-18.04-desktop-amd64.iso

Il seguente screenshot mostra il comando curl che riprende il download dopo essere stato interrotto.

Conclusione

Quindi puoi vedere, il comando curl è un’utilità utile se ti piace scaricare contenuti tramite la riga di comando. Abbiamo appena grattato la superficie qui, poiché lo strumento offre molte più funzionalità. Una volta che hai finito di esercitarti con le opzioni della riga di comando discusse in questo tutorial, puoi andare alla pagina del manuale di curl per saperne di più.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.