GNU Wget è un'utilità da riga di comando per scaricare file dal web. Con Wget, puoi scaricare file utilizzando i protocolli HTTP, HTTPS e FTP. Wget offre una serie di opzioni che ti consentono di scaricare più file, riprendere i download, limitare la larghezza di banda, download ricorsivi, scaricare in background, eseguire il mirroring di un sito Web e molto altro.
Questo articolo mostra come usare il wget
comando attraverso esempi pratici e spiegazioni dettagliate delle opzioni più comuni.
Installazione di Wget #
Il pacchetto wget è preinstallato sulla maggior parte delle distribuzioni Linux oggi.
Per verificare se il pacchetto Wget è installato sul tuo sistema, apri la tua console, digita wget
e premere invio. Se hai installato wget, il sistema stamperà wget: missing URL
. In caso contrario, stamperà wget command not found
.
Se wget
non è installato, puoi installarlo facilmente usando il gestore di pacchetti della tua distribuzione.
Installazione di Wget su Ubuntu e Debian #
sudo apt install wget
Installazione di Wget su CentOS e Fedora #
sudo yum install wget
Sintassi del comando Wget #
Prima di entrare in come usare il wget
comando, iniziamo esaminando la sintassi di base.
Il wget
le espressioni di utilità assumono la forma seguente:
wget [options] [url]
options
- Le opzioni di Wgeturl
- URL del file o della directory che desideri scaricare o sincronizzare.
Come scaricare un file con wget
#
Nella sua forma più semplice, se usato senza alcuna opzione, wget
scaricherà la risorsa specificata nell'[url] nella directory corrente.
Nell'esempio seguente, stiamo scaricando l'archivio tar del kernel Linux:
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Come puoi vedere dall'immagine sopra, wget
inizia risolvendo l'indirizzo IP del dominio, quindi si connette al server remoto e avvia il trasferimento.
Durante il download, wget
mostra la barra di avanzamento insieme al nome del file, alla dimensione del file, alla velocità di download e al tempo stimato per completare il download. Una volta completato il download, puoi trovare il file scaricato nella tua directory di lavoro corrente.
Per disattivare l'output, utilizzare -q
opzione.
Se il file esiste già, wget
aggiungerà .N
(numero) alla fine del nome del file.
Salvataggio del file scaricato con nome diverso #
Per salvare il file scaricato con un nome diverso, passa il -O
opzione seguita dal nome scelto:
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
Il comando sopra salverà l'ultimo file hugozip da GitHub come latest-hugo.zip
invece del suo nome originale.
Download di un file in una specifica directory #
Per impostazione predefinita, wget
salverà il file scaricato nella directory di lavoro corrente. Per salvare il file in una posizione specifica, usa il -P
opzione:
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
Il comando sopra dice a wget
per salvare il file iso di CentOS 7 in /mnt/iso
directory.
Limitazione della velocità di download #
Per limitare la velocità di download, usa il --limit-rate
opzione. Per impostazione predefinita, la velocità è misurata in byte/secondo. Aggiungi k
per kilobyte, m
per megabyte e g
per gigabyte.
Il comando seguente scaricherà il binario Go e limiterà la velocità di download a 1 MB:
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Questa opzione è utile quando non vuoi wget
per consumare tutta la larghezza di banda disponibile.
Ripresa di un download #
Puoi riprendere un download usando il -c
opzione. Questo è utile se la tua connessione si interrompe durante il download di un file di grandi dimensioni e invece di iniziare il download da zero, puoi continuare quello precedente.
Nell'esempio seguente, stiamo riprendendo il download del file iso di Ubuntu 18.04:
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Se il server remoto non supporta la ripresa dei download, wget
avvierà il download dall'inizio e sovrascriverà il file esistente.
Download in background #
Per scaricare in background, usa il -b
opzione. Nell'esempio seguente, stiamo scaricando il file ISO di OpenSuse in background:
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
Per impostazione predefinita, l'output viene reindirizzato a wget-log
file nella directory corrente. Per controllare lo stato del download, usa il tail
comando:
tail -f wget-log
Modifica dell'User-Agent Wget #
A volte, durante il download di un file, il server remoto può essere impostato per bloccare l'User-Agent di Wget. In situazioni come questa, per emulare un browser diverso, passa il -U
opzione.
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
Il comando sopra emulerà Firefox 60 che richiede la pagina da wget-forbidden.com
Download di più file #
Se vuoi scaricare più file contemporaneamente, usa -i
opzione seguita dal percorso di un file locale o esterno contenente un elenco degli URL da scaricare. Ogni URL deve trovarsi su una riga separata.
L'esempio seguente mostra come scaricare i file ISO di Arch Linux, Debian e Fedora utilizzando gli URL specificati in linux-distros.txt
file:
wget -i linux-distros.txt
linux-distros.txthttp://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso
https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-9.4.0-amd64-netinst.iso
https://download.fedoraproject.org/pub/fedora/linux/releases/28/Server/x86_64/iso/Fedora-Server-dvd-x86_64-28-1.1.iso
Se specifichi -
come nome file, gli URL verranno letti dallo standard input.
Download tramite FTP #
Per scaricare un file da un server FTP protetto da password, specifica il nome utente e la password come mostrato di seguito:
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
Creazione di un mirror di un sito web #
Per creare un mirror di un sito web con wget
, usa il -m
opzione. Ciò creerà una copia locale completa del sito Web seguendo e scaricando tutti i collegamenti interni e le risorse del sito Web (JavaScript, CSS, Immagini).
wget -m https://example.com
Se desideri utilizzare il sito Web scaricato per la navigazione locale, dovrai passare alcuni argomenti extra al comando sopra.
wget -m -k -p https://example.com
Il -k
opzione causerà wget
per convertire i collegamenti nei documenti scaricati per renderli idonei alla visualizzazione locale. Il -p
l'opzione dirà a wget
per scaricare tutti i file necessari per visualizzare la pagina HTML.
Salto del controllo del certificato #
Se desideri scaricare un file tramite HTTPS da un host che ha un certificato SSL non valido, usa il --no-check-certificate
opzione:
wget --no-check-certificate https://domain-with-invalid-ss.com
Download nell'output standard #
Nell'esempio seguente, wget
tranquillamente ( flagga -q
) scarica e invia l'ultima versione di WordPress a stdout ( flag -O -
) e invialo tramite pipe a tar
utility, che estrarrà l'archivio in /var/www
directory.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
Conclusione #
Con wget
, puoi scaricare più file, riprendere download parziali, eseguire il mirroring di siti Web e combinare le opzioni Wget in base alle tue esigenze.
Per saperne di più su Wget, visita la pagina del manuale di GNU wget.