GNU/Linux >> Linux Esercitazione >  >> Linux

Comando Wget in Linux con esempi

Introduzione

Il comando Wget è un'utilità della riga di comando di Linux che ci aiuta a scaricare i file dal web. Possiamo scaricare i file dai server web utilizzando i protocolli HTTP, HTTPS e FTP. Possiamo usare wget negli script e nei cronjob.

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     for  CentOS 7 / RHEL 7
$ sudo dnf install -y wget     for CentOS 8/ RHEL 8/ Rocky Linux 8
$ sudo apt install -y wget     for Ubuntu / Debian
$ sudo pacman -S wget          for Arch Linux
$ sudo zypper install wget     for OpenSUSE

Download di un singolo file con wget

[unixcop@rhel-pc ~]$ wget https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
--2021-08-13 04:24:05--  https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.91.124, 91.189.91.123, 2001:67c:1562::28, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.91.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2877227008 (2.7G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.2.0-desktop-amd64.iso’

ubuntu-20.04.2.0-desktop-amd64.iso      47%[=======          ]   4.3G   2.13M/s    eta 1h 02m

Questo comando scaricherà il file ISO di Ubuntu nella directory di lavoro corrente dell'utente.

Riprendi il file parzialmente scaricato

Usando l'opzione '-c' nel comando wget possiamo riprendere il nostro download da dove è stato disconnesso.

[unixcop@rhel-pc ~]$ wget -c https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

Scarica i file in background

Usa l'opzione '-b' nel comando wget per scaricare i file in background

[unixcop@rhel-pc ~]$ wget -b https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Continuing in background, pid 2412.
Output will be written to ‘wget-log’.
[unixcop@rhel-pc ~]$ 

Usa anche il comando tail per visualizzare lo stato del download.

[unixcop@rhel-pc ~]$ tail -f wget-log
  2700K .......... .......... .......... .......... ..........  0% 85.8K 16h41m
  2750K .......... .......... .......... .......... ..........  0% 90.0K 16h32m
  2800K .......... .......... .......... .......... ..........  0% 78.8K 16h25m
  2850K .......... .......... .......... .......... ..........  0%  189K 16h13m
  2900K .......... .......... .......... .......... ..........  0% 92.4K 16h5m
  2950K .......... .......... .......... .......... ..........  0% 89.7K 15h57m
  3000K .......... .......... .......... .......... ..........  0% 92.8K 15h50m
  3050K .......... .......... .......... .......... ..........  0%  177K 15h39m
  3100K .......... .......... .......... .......... ..........  0% 91.2K 15h32m
  3150K .......... .......... .......... .......... ..........  0% 96.0K 15h25m
  3200K .......... .......... .......... .......... ..........  0% 79.6K 15h20m
  3250K .......... .......... .......... .......... ..........  0%  199K 15h9m
  3300K .......... .......... .......... .......... ..........  0% 97.7K 15h3m
  3350K .......... .......... .......... .......... ..........  0% 94.6K 14h57m
  3400K .......... .......... .......... .......... ..........  0% 95.8K 14h51m
  3450K .......... .......... .......... .......... ..........  0% 96.0K 14h45m
  3500K .......... .......... .......... .......... ..........  0%  102K 14h39m
  3550K .......... .......... .......... .......... ..........  0%  153K 14h31m
  3600K .......... .......... .......... .......... ..........  0% 62.1K 14h29m
  3650K .......... .......... .......... .......... ..........  0%  109K 14h23m
  3700K .......... .......... .......... .......... ..........  0% 83.1K 14h19m
  3750K .......... .......... .......... .......... ..........  0%  118K 14h13m
  3800K .......... .......... .......... .......... ..........  0%  104K 14h8m
  3850K .......... .......... .......... .......... ..........  0%  112K 14h2m





etc..

Limita la velocità di download durante il download dei file

Puoi limitare la velocità di download utilizzando l'opzione "–limit-rate".

[unixcop@rhel-pc ~]$ wget --limit-rate=350k https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

abbiamo impostato il limite di download a 350.000.

Scarica più file

Per prima cosa crea un file di testo e aggiungi tutti gli URL in quel file di testo come mostrato di seguito:

[unixcop@rhel-pc ~]$ cat wget-download-list.txt 
http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso

[unixcop@rhel-pc ~]$ 

Ora esegui :

[unixcop@rhel-pc ~]$ wget -i wget-download-list.txt 
--2021-08-13 04:36:46--  http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Resolving centos.mirror.server24.net (centos.mirror.server24.net)... 217.70.144.100, 2001:1a38:144::100
Connecting to centos.mirror.server24.net (centos.mirror.server24.net)|217.70.144.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9928966144 (9.2G) [application/octet-stream]
Saving to: ‘CentOS-8.4.2105-x86_64-dvd1.iso’

CentOS-8.4.2105-x86_64-dvd1.iso         4%[==                 ] 964M  1.9M/s    eta 3h 44m
[unixcop@rhel-pc ~]$ 

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.

# wget --tries=60 http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

Il comando sopra farà in modo che il comando wget provi a scaricare il file massimo 60 volte.

Reindirizza l'output del comando wget a un file

Possiamo reindirizzare l'output a un file di registro utilizzando l'opzione '-o' come mostrato di seguito:

$ wget -o download_file.log http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

Puoi mostrarlo con

# ls
# cat download_file.log

Rispecchia un sito Web completo con il comando wget

Possiamo farlo con:

# wget --mirror -p --convert-links -P ./<Local-Folder> website-URL

Dove

  • –specchio :attiva le opzioni adatte al mirroring.
  • p :scarica tutti i file per visualizzare correttamente una determinata pagina HTML.
  • –convert-link :converte i collegamenti nel documento per la visualizzazione locale.
  • -P ./Cartella-locale :salva tutti i file e le directory nella directory specificata.

Rifiuta i tipi di file durante il download

Quando prevedi di scaricare l'intero sito Web , possiamo forzare il comando wget a non scaricare file pdf, ad esempio utilizzando l'opzione '–rifiuta'.

# wget --reject=pdf <Website-To-Be-Downloaded>

Imposta la quota di download

Wget può interrompere il download quando la dimensione del download supera determinate dimensioni. Usa l'opzione '-Q' nel comando wget per impostare la quota di download.

# wget -Q14m -i wget-download-list.txt

Consenti a wget di sovrascrivere i file

Se specifichiamo il file di output usando l'opzione -o, sovrascriverà qualsiasi file esistente.

wget -q http://www.example.com/filename.txt -O /path/filename.txt

Scarica un file utilizzando il server FTP

​Wget utilizza l'FTP anonimo per scaricare i file dal web. Non richiede accessi FTP per scaricare i file.

# wget ftp://ftp.example.com/file.tar.gz

Download del file da un sito protetto da password

# wget --ftp-user=<user-name> --ftp-password=<password> Download-URL
OR
# wget --user <user_name> --password <password> http://<url-path>/file_you_want_to_download

Un altro modo per specificare nome utente e password è nell'URL stesso.

Scarica un file da un URL sicuro non attendibile

Vuoi scaricare file dalle porte https e saltare i controlli dei certificati?

quindi può essere ottenuto utilizzando l'opzione "–no-check-certificato"

# wget https://example.com/file.tar.gz –no-check-certificate

Esempio :Scarica Oracle Java dal portale https e salta 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

Per prima cosa dobbiamo impostare il proxy e quindi possiamo scaricare il 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 proxy, utilizzare :

# 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>

Controlla la versione di wget

Possiamo controllare la versione del comando Wget come di seguito

# wget –version

Conclusione

Wget ha un numero enorme di opzioni, ne abbiamo coperte molte.

A proposito, possiamo trovare più opzioni dalla pagina di manuale.

# man wget


Linux
  1. Comando wc Linux con esempi

  2. 12 utili esempi di comandi Wget in Linux

  3. Comando Tee Linux con esempi

  4. Comando JQ in Linux con esempi

  5. Esempi di comandi wget in Linux

Comando Tr in Linux con esempi

15 Comando Linux ps con esempi

Comando CD Linux con esempi

Comando wget Linux spiegato con esempi

Comando IP Linux con esempi

Comando wget Linux con esempi