Il comando Wget in Linux viene utilizzato per scaricare file dal Web utilizzando i protocolli HTTP, HTTPS e FTP. In altre parole possiamo dire che wget è uno strumento di download della riga di comando non interattivo per i sistemi Linux. Supporta anche il download di file tramite proxy HTTP.
Qui non interattivo significa che può funzionare in background, mentre l'utente non è connesso. Quando eseguiamo l'installazione minima delle distribuzioni Linux, il comando wget non è installato, quindi per installare wget sulle distribuzioni Linux, esegui
$ sudo yum install -y wget // CentOS 7 / RHEL 7 $ sudo dnf install -y wget // CentOS 8/ RHEL 8/ Rocky Linux 8 $ sudo apt install -y wget // Ubuntu / Debian $ sudo pacman -S wget // Arch Linux $ sudo zypper install wget // OpenSUSE
In questo tutorial tratteremo 12 utili esempi di comandi wget. Questi esempi ti aiuteranno a iniziare a usare il comando wget come un professionista. Quindi analizziamo a fondo gli esempi.
1) Scaricare un singolo file con wget
Per scaricare un file usando il comando wget, digita semplicemente il comando wget seguito dal percorso assoluto del file, l'esempio è mostrato di seguito:
$ wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
Questo comando scaricherà il file ISO di Rocky Linux 8 nella directory di lavoro corrente dell'utente.
2) Riprendi il file scaricato parziale (-c)
Ci sono alcuni scenari in cui iniziamo a scaricare un file di grandi dimensioni ma nel mezzo Internet si è disconnesso, quindi utilizzando l'opzione '-c' nel comando wget possiamo riprendere il download da dove è stato disconnesso. L'esempio è mostrato di seguito,
$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
3) Scarica i file in background (-b)
Usa l'opzione '-b' nel comando wget per scaricare i file in background. Questa opzione diventa molto utile quando il file è troppo grande e vuoi usare il terminale per altre attività.
$ wget -b https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso Continuing in background, pid 4505. Output will be written to ‘wget-log’.
Come possiamo vedere sopra, l'avanzamento del download viene acquisito nel file "wget-log" nella directory corrente dell'utente. Usa il comando tail per visualizzare lo stato del download.
$ tail -f wget-log 2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m 2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m 2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m 2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m 2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m 2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m 2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m 2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m 2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m 2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m 2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m 2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m
4) Limitazione della velocità di download nel comando wget
Per impostazione predefinita, il comando wget prova a utilizzare la larghezza di banda completa , ma potrebbe esserci un caso in cui stai utilizzando Internet condiviso , quindi se provi a scaricare file di grandi dimensioni utilizzando wget , ciò potrebbe rallentare Internet di altri utenti. Questa situazione può essere evitata se limiti la velocità di download utilizzando l'opzione "–limit-rate".
$ wget --limit-rate=100k https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
Nel comando wget sopra, abbiamo impostato il limite di download a 100K.
5) Scarica più file con wget
Se desideri scaricare più file utilizzando il comando wget , crea prima un file di testo e aggiungi tutti gli URL in quel file di testo. L'esempio è mostrato di seguito:
$ cat download-list.txt https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
Ora esegui sotto il comando,
$ wget -i download-list.txt
Sopra il comando wget inizierà a scaricare i file ISO in sequenza.
6) Aumenta i tentativi di ripetizione in wget
Possiamo aumentare i tentativi di ripetizione usando l'opzione '–tries' in wget. Per impostazione predefinita, il comando wget riprova 20 volte per completare il download.
Questa opzione diventa molto utile quando hai problemi con la tua connessione Internet e stai scaricando un file di grandi dimensioni.
$ wget --tries=75 https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
Sopra il comando wget proverà a scaricare il file massimo 75 volte.
7) Reindirizza l'output del comando wget in un file di registro
Possiamo reindirizzare l'output del comando wget su un file di registro usando l'opzione '-o'. L'esempio è illustrato di seguito,
$ wget -o download.log https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Il file download.log verrà creato automaticamente nella directory corrente dell'utente.
8) Scarica il sito Web completo per la visualizzazione locale
Usando il comando wget possiamo scaricare il sito Web completo per la visualizzazione locale, la sintassi è mostrata di seguito,
$ wget --mirror -p --convert-links -P ./<Local-Folder> website-URL
Dove
- –mirror :attiva le opzioni adatte al mirroring.
- -p :scarica tutti i file necessari per visualizzare correttamente una determinata pagina HTML.
- –convert-links :dopo il download, converti i link nel documento per la visualizzazione locale.
- -P ./Local-Folder :salva tutti i file e le directory nella directory specificata.
9) Rifiuta i tipi di file durante il download
Quando prevedi di scaricare l'intero sito Web , possiamo forzare il comando wget a non scaricare le immagini utilizzando ' –rifiuta' opzione .
$ wget --reject=png <Website-To-Be-Downloaded>
10) Impostazione della quota di download in wget
Possiamo forzare il comando wget a interrompere il download quando le dimensioni del download superano determinate dimensioni. Usa l'opzione '-Q' nel comando wget per impostare la quota di download.
$ wget -Q10m -i download-list.txt
Tieni presente che la quota non influirà mai sul download di un singolo file. Quindi, se specifichi wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz, tutti i ls-lR.gz verranno scaricati. Lo stesso vale anche quando sulla riga di comando vengono specificati più URL. Tuttavia, la quota funzionerà solo durante il recupero ricorsivamente o da un file di input. Pertanto puoi tranquillamente digitare "wget -Q10m -i download-list.txt" il download verrà interrotto quando la quota viene superata.
11) Download del file da un sito protetto da password
comandi wget
$ wget --ftp-user=<user-name> --ftp-password=<password> Download-URL or $ wget --user <user_name> --password <password> http://<url-path>/file_to_be_downloaded
Un altro modo per specificare nome utente e password è nell'URL stesso.
Uno dei metodi rivela la tua password a chiunque si prenda la briga di eseguire "ps". Per evitare che le password vengano visualizzate, salvale in .wgetrc o .netrc e assicurati di proteggere quei file da altri utenti con "chmod". Se le password sono davvero importanti, non lasciarle in quei file o modifica i file ed eliminali dopo che wget ha avviato il download.
12) Download del file saltando i controlli del certificato
Ci sono alcuni scenari in cui vogliamo scaricare file dalle porte https e saltare i controlli dei certificati, quindi è possibile farlo utilizzando l'opzione "–no-check-certificate" nel comando wget,
$ wget https://about.gitlab.com/ --no-check-certificate
Download di Oracle Java utilizzando il comando wget dal portale https e saltare i controlli dei certificati
$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm --no-check-certificate
Download di file tramite proxy
Ci sono alcune situazioni in cui il nostro sistema è in esecuzione dietro il server proxy, quindi in tali situazioni dobbiamo prima impostare il proxy e quindi possiamo usare il comando wget per scaricare file da Internet. Per impostare il proxy sulla riga di comando, usa le seguenti variabili ed esporta il comando
$ export http_proxy=http://<Your-Proxy-IP>:<Proxy-Port> $ export https_proxy=http://<Your-Proxy-IP>:<Proxy-Port> $ export ftp_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
Nel caso in cui il nome utente e la password siano richiesti per il funzionamento del proxy, utilizzare i seguenti
$ export http_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port> $ export https_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port> $ export ftp_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
Esempio aggiuntivo
Scarica ed estrai il file tar con un singolo comando wget
Supponiamo di voler scaricare l'ultima versione del file tar di WordPress e di estrarlo in una cartella specifica come /var/www/html, quindi per eseguire questa attività utilizzando il comando wget di seguito,
# wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip-components=1 -C /var/www/html
Questo è tutto da questo tutorial, spero che tu abbia trovato questi esempi di comandi wget molto informativi. Per favore condividi i tuoi preziosi feedback e commenti nella sezione commenti qui sotto.