wget è un tool molto utile per scaricare singoli file, pagine web o interi siti dalla rete. Per gli esempi uso un piccolo sito di prova che ho fatto apposta come cavia, raggiungibile su Internet: https://esempi.thelinuxnerd.it. Potete usarlo anche voi per fare le vostre prove. Gli esempi e gli script sono anche su GitHub, nel repository the-linux-nerd/esempi-linux.
Scaricare un file
L’uso più semplice: si passa a wget l’URL esatto della risorsa che si vuole scaricare, che sia un’immagine di un sistema operativo, un software o qualunque altra cosa. Dal browser si usa “copia indirizzo link”, poi si incolla nel terminale:
wget https://esempi.thelinuxnerd.it/esempio.tar.gz
Salvare con un altro nome: -O
Se vogliamo salvare il file con un nome diverso da quello che ha sul sito, si usa l’opzione -O maiuscola:
wget -O prova.tar.gz https://esempi.thelinuxnerd.it/esempio.tar.gz
Ora abbiamo il file due volte, con due nomi diversi. Notate che il comportamento predefinito di wget, con -O, è sovrascrivere il file di destinazione: comodo se dobbiamo scaricare più volte un file con lo stesso nome.
Riprendere un download interrotto: -c
Una cosa molto comoda: wget può riprendere un download interrotto. Rilanciamo il download e simuliamo una caduta di connessione con Ctrl+C: ci siamo fermati, per esempio, al 24%.
wget https://esempi.thelinuxnerd.it/esempio.tar.gz
Per riprendere da dove si era arrivati si usa -c (continue):
wget -c https://esempi.thelinuxnerd.it/esempio.tar.gz
Nella barra di avanzamento il simbolo + al posto dell’uguale indica la parte già scaricata e non riscaricata.
Scaricare da un elenco: -i
Possiamo anche dare a wget un file con un elenco di URL, uno per riga, che vengono scaricati in sequenza. Creiamo un file lista.txt e mettiamoci dentro due indirizzi: il file di esempio e un’immagine presente sul sito.
nano lista.txt
Nel file ci vanno due URL, ad esempio:
https://esempi.thelinuxnerd.it/esempio.tar.gz
https://esempi.thelinuxnerd.it/happy-hacking.png
Poi:
wget -i lista.txt
Nella cartella troviamo sia esempio.tar.gz sia l’immagine.
Risorse protette da password
Sul sito di prova c’è un file in una cartella protetta da nome utente e password: dal browser verrebbe chiesto un login. Con wget si usano le opzioni –user e –password. Nel sito di prova le credenziali sono pubbliche, perché è fatto apposta, e le mostro nel video: utente happy, mentre qui scrivo un segnaposto al posto della password.
wget --user=happy --password=la-tua-password \
https://esempi.thelinuxnerd.it/secret/happy-hacking.tar.gz
Il file viene scaricato regolarmente.
Scaricare un intero sito: -m
L’ultimo uso: scaricare una pagina web o un intero sito. wget ha moltissime opzioni per farlo e non voglio trattarle tutte; vediamo la modalità più semplice, il mirroring, con -m. Questa volta si passa l’indirizzo dell’intero sito:
wget -m https://esempi.thelinuxnerd.it
wget scarica tutte le risorse e tutte le pagine. Nella cartella ne troviamo una con il nome del sito, e dentro ci sono il file tar.gz linkato dalla pagina, l’immagine Happy Hacking, l’index.html con il codice HTML del sito e il foglio di stile CSS.
ls esempi.thelinuxnerd.it
Con wget -m, insomma, si fa il mirroring di una pagina web o di un intero sito in modo molto facile.
Per finire
Questo è sufficiente a cominciare a sperimentare con wget. Se volete un approfondimento sulle altre opzioni, fatemelo sapere nei commenti. La documentazione ufficiale è sul sito del progetto GNU.
man wget
Link e risorse
- il video su YouTube
- esempi e comandi della puntata su GitHub
- wget(1), pagina di manuale — tutte le opzioni
- Wget su Wikipedia — in italiano
- Wget nella wiki di Arch Linux — configurazione e trucchi
Sostieni il canale
📚 Bibliografia:
Linux per Principianti — https://amzn.to/3QkYpWu
questi link sono affiliati Amazon, acquistando i libri che ti consiglio sostieni il canale!
