Usa il comando wget in Linux

Suraj Joshi 30 gennaio 2023
  1. Controlla se wget è installato o meno
  2. Sintassi del comando wget
  3. Scarica file con wget
  4. Salvare il file scaricato utilizzando wget con un nome file personalizzato
  5. Salvare il file scaricato utilizzando wget in una directory specifica
  6. Specificare la velocità di download utilizzando wget
  7. Riprendi il download utilizzando wget
  8. Scarica file in background utilizzando wget
  9. Cambiare lo User-Agent di wget
  10. Scarica più file contemporaneamente utilizzando wget
  11. Scarica i file usando il comando wget tramite FTP
  12. Crea una copia del sito web usando wget
  13. Salta il controllo del certificato durante l’utilizzo di Wget
Usa il comando wget in Linux

Possiamo usare il comando wget in Linux per scaricare file da Internet utilizzando i protocolli HTTP, HTTPS e FTP con varie opzioni come il download di più file contemporaneamente, il download in background, la limitazione della larghezza di banda e molto altro.

Controlla se wget è installato o meno

Possiamo controllare se wget è installato o meno nel nostro sistema semplicemente inserendo il comando wget nel nostro terminale.

Se wget è installato nel nostro sistema, otteniamo un output come:

wget: missing URL
Usage: wget [OPTION]... [URL]...

Try 'wget --help' for more options.

Se wget non è installato nel nostro sistema, otteniamo un output come:

Command 'wget' not found, but can be installed with:

sudo snap install wget

Se wget non è installato nel nostro sistema, possiamo installarlo utilizzando i seguenti comandi:

Installa wget per Ubuntu e Debian

sudo apt install wget

Installa wget per CentOS e Fedora

sudo yum install wget

Sintassi del comando wget

wget [options] [url]

options sono varie opzioni disponibili per personalizzare il processo di download e url si riferisce all url da cui il file deve essere scaricato o sincronizzato.

Scarica file con wget

Per scaricare un file usando il comando wget, specifichiamo semplicemente l’URL del repository di file dopo wget.

wget https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

Produzione:

--2020-09-28 19:29:15--  https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg
Resolving bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)... 104.18.130.43, 104.18.131.43
Connecting to bloximages.newyork1.vip.townnews.com (bloximages.newyork1.vip.townnews.com)|104.18.130.43|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 33241 (32K) [image/jpeg]
Saving to: '5ca13d8453042.image.jpg'

5ca13d8453042.image 100%[===================>]  32.46K  --.-KB/s    in 0.003s  

2020-09-28 19:29:15 (11.1 MB/s) - '5ca13d8453042.image.jpg' saved [33241/33241]

Scarica il file immagine all’URL specificato e quindi salva il file scaricato nella nostra directory di lavoro corrente.

Il comando inizialmente risolve l’indirizzo IP dell’URL e quindi avvia il download. Possiamo anche vedere la barra di avanzamento del download nel terminale.

Se non vogliamo vedere alcun output nel terminale, possiamo usare l’opzione -q con il comando wget.

Salvare il file scaricato utilizzando wget con un nome file personalizzato

Per impostazione predefinita, il nome del file scaricato è lo stesso che era sul web. Se vogliamo salvare il file con un nome di file diverso, possiamo specificare il nome del file dopo il flag -O.

wget -O linux.jpg https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

Salva il file scaricato nella nostra directory di lavoro corrente con il nome del file linux.jpg.

Salvare il file scaricato utilizzando wget in una directory specifica

Per impostazione predefinita, tutti i file scaricati vengono salvati nella directory di lavoro corrente. Per salvare i file scaricati in una directory specifica, usiamo l’opzione -P seguita dalla posizione della directory in cui il file scaricato deve essere salvato.

wget -P Downloads/Linux_Images https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

Salva l’immagine scaricata nella directory Linux_Images all’interno della directory Downloads.

Specificare la velocità di download utilizzando wget

Se non vogliamo usare tutta la larghezza di banda disponibile per scaricare file usando wget, possiamo usare l’opzione --limit-rate per limitare la velocità di download dei file.

wget -P --limit-rate=5m https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

Limita la velocità di download a 5 MB.

Riprendi il download utilizzando wget

Se la nostra connessione Internet si interrompe improvvisamente durante il download di un grande, scaricare di nuovo il file dall’inizio sarebbe un compito noioso. In questi casi, possiamo riprendere il download utilizzando l’opzione -c.

wget -c https://bloximages.newyork1.vip.townnews.com/redandblack.com/content/tncms/assets/v3/editorial/4/59/45940eb2-5403-11e9-a843-db0e4491cc90/5ca13d8453042.image.jpg

In alcuni casi, il server potrebbe non supportare la ripresa dei download e, in tal caso, il download inizierà dall’inizio.

Scarica file in background utilizzando wget

Per scaricare file in background usando wget, aggiungiamo l’opzione -b al comando.

wget -b https://releases.ubuntu.com/20.04/ubuntu-20.04.1-desktop-amd64.iso

Scaricherà il file immagine di Ubuntu 20.04 in background.

Per vedere lo stato del download del file, utilizziamo il seguente comando:

tail -f wget-log

Cambiare lo User-Agent di wget

In alcuni casi, il server potrebbe bloccare l’agente utente wget. In questi casi, possiamo emulare un browser diverso utilizzando l’opzione -U.

get --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0" <url>

In questo caso, Mozilla 68 richiederà il file da <url>.

Scarica più file contemporaneamente utilizzando wget

Per scaricare più file usando wget, creiamo un .txt che elenca gli URL per ogni file da scaricare su una riga separata. Quindi usiamo il comando wget con l’opzione -i seguita dal percorso del file contenente gli URL.

wget -i files.txt

Questo scaricherà tutti i file dagli URL specificati nel file files.txt.

Scarica i file usando il comando wget tramite FTP

Per scaricare file usando il comando wget via FTP, specifichiamo il nome utente usando l’opzione --ftp-user e la password usando l’opzione --ftp-password.

wget --ftp-user=username --ftp-password=password <url>

Scarica il file dall’URL specificato utilizzando il protocollo FTP.

Crea una copia del sito web usando wget

Per creare una copia di un sito web usando wget, usiamo l’opzione -m seguita dall’URL di cui si vuole fare la copia.

wget -m https://abc.com

Questo creerà una copia di abc.com scaricando tutti i link interni e i file statici necessari per il rendering del sito web.

Se vogliamo eseguire il sito web scaricato, dobbiamo anche aggiungere le opzioni -k e -p.

wget -m -k -p https://abc.com

Salta il controllo del certificato durante l’utilizzo di Wget

A volte è necessario scaricare un file dall’host senza un certificato SSL valido utilizzando il protocollo HTTPS. In questi casi, usiamo l’opzione --no-check-certificate per saltare i controlli del certificato.

wget --no-check-certificate <url>
Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn