GNU/Linux >> Linux Esercitazione >  >> Linux

Comando wget Linux spiegato con esempi

Lo strumento da riga di comando wget di Linux è un'utile utility utilizzata per scaricare file su Internet. Di solito viene utilizzato quando si desidera scaricare tarball e file compressi, pacchetti deb e rpm da un sito Web.

Con il comando wget, puoi scaricare un file tramite i protocolli HTTP, HTTPS o anche FTP. Una serie di opzioni che puoi utilizzare insieme al comando wget che lo rende potente.

In questo tutorial, vedremo come usare il comando wget di GNU attraverso degli esempi.

sintassi di wget

La sintassi per l'utilizzo di wget è abbastanza semplice. Basta invocare il comando wget, seguito dalle opzioni e successivamente dal collegamento al sito Web come mostrato.

$ wget [ options ] url

Installa wget

La maggior parte delle moderne distribuzioni Linux viene fornita con l'utilità wget, quindi non sarà necessario installarla. Tuttavia, ci sono alcuni casi in cui potrebbe essere richiesta l'installazione, specialmente nei sistemi meno recenti e in alcune istanze cloud o per risolvere il messaggio di errore "–bash:wget:Command not found".

Per le versioni Ubuntu e Debian, esegui il seguente comando utilizzando il gestore di pacchetti APT:

$ sudo apt-get install wget

Per installare il comando wget nelle versioni RHEL / CentOS 8, eseguire:

$ sudo dnf install wget

Per le versioni precedenti, (RHEL 7 e CentOS 7 e precedenti ) usa il gestore di pacchetti yum come segue

$ sudo yum install wget

Per le distribuzioni Arch Linux e Arch Linux come Manjaro, Arch Linux ed Endeavour OS, utilizzare il gestore di pacchetti pacman come segue:

$ sudo pacman -S wget

Scarica un file da Internet

Nella sua forma più semplice, senza utilizzare alcuna opzione, il comando wget scarica un file da Internet come specificato nell'URL. La sintassi più semplice è mostrata di seguito:

$ wget website_url

Ad esempio, nell'esempio seguente, stiamo scaricando l'ultimo tarball di WordPress dal sito ufficiale di WordPress.

$ wget https://wordpress.org/latest.tar.gz

Dall'output, possiamo vedere che wget risolve prima il dominio del sito Web in un indirizzo IP, su cui si connette al server e quindi avvia il trasferimento del file. Quando il download è in corso, vedrai la barra di avanzamento che indica il nome del file, la dimensione, la velocità di download e il tempo stimato di completamento del download.

Al termine del download, assicurati di trovare il file nella directory di lavoro attuale. Questo può essere verificato invocando il comando ls.

Scarica il file e salva con un nome specifico

Se preferisci salvare il file con un nome diverso dal nome originale, passa semplicemente il -O opzione seguita dal tuo nome preferito.

$ wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

Il comando precedente scarica il file originale 'latest.tar.gz' dal sito WordPress e lo salva come 'wordpress.tar.gz'.

Scarica in una directory specifica

Come discusso in precedenza, wget scarica il file nella directory di lavoro attuale. Puoi specificare un percorso di download diverso usando il -P flag seguito dal percorso della directory di destinazione.

$ wget -P /var/www/html https://wordpress.org/latest.tar.gz

Nell'esempio sopra, il file viene salvato nella directory /var/www/html.

Limita la velocità di download

Usando wget, puoi anche limitare la velocità con cui i file vengono scaricati. Per limitare la velocità di download, invoca il --limit-rate opzione seguita dalla velocità di download. La velocità viene solitamente misurata in byte al secondo.

Per impostare la velocità limite a 500 KB/s, eseguire il comando seguente:

$ wget --limit-rate=500k https://wordpress.org/latest.tar.gz

Come continuare a ricevere un file parzialmente scaricato

A volte durante il download di un file, la tua connessione può interrompersi improvvisamente lasciandoti con un file parzialmente scaricato. Invece di riavviare il download, usa wget -C opzione per riprendere il download come mostrato.

$ wget -c https://wordpress.org/latest.tar.gz

Nell'esempio sopra, stiamo riprendendo il download del file tarball da WordPress. Tieni presente che se il sito Web non risponde alla ripresa del download del file, il comando riavvierà il download del file e sovrascriverà quello esistente.

Scarica file in background

Per scaricare un file in background, passa il wget -b opzione come mostrato di seguito.

$ wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

Nell'esempio sopra, stiamo scaricando il file ISO Manjaro KDE Plasma in background. Per monitorare lo stato del download, usa il comando wget log come mostrato

$ tail –f wget –log

Scarica più file

Se hai più file da scaricare, è complicato eseguire il comando wget ripetutamente sul terminale. Un approccio migliore sarebbe eseguire il comando wget una volta per scaricare i file uno dopo l'altro.

Per fare ciò, salva gli URL del sito Web in un file di testo. Successivamente, invoca il comando wget con -i opzione seguita dal nome del file di testo.

In questo esempio, vogliamo scaricare il file tarball di WordPress e il file zippato di OwnCloud. Innanzitutto, abbiamo salvato i link per il download in un file di esempio, chiamiamolo 'downloads.txt':

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20200731.zip

Ora, per scaricare più file, esegui:

$ wget -i downloads.txt

Questi verranno scaricati uno dopo l'altro. Ed è così che scarichi più file.

Scarica un mirror di un sito Web

Un altro uso non comunemente noto di wget è la possibilità di clonare o fare una copia speculare di un sito web. Puoi ottenerlo passando il -m opzione come mostrato. Questo crea una copia speculare del sito Web insieme a tutti i collegamenti interni e altre risorse come immagini, widget, Javascript e file CSS.

$ wget -m http://www.example.com

Se intendi clonare un sito Web per la navigazione locale, passa argomenti aggiuntivi come mostrato.

$ wget -m -k -p http://www.example.com

Il -k flag facilita la conversione del collegamento in un formato adatto alla visualizzazione in locale. Nel frattempo, il -p opzione indica all'utilità wget di scaricare i file rilevanti necessari per visualizzare il contenuto su una pagina HTML su un browser.

Ignora certificato SSL

Per evitare di incorrere in un errore durante il download di un file tramite HTTPS da un server Web il cui certificato SSL non è attendibile o valido, passare il --no-check-certificate opzione:

$ wget --no-check-certificate https://domain-with-untrusted-ssl-cert

Scarica e reindirizza l'output al file di registro

L'output del comando wget può essere registrato durante il download del file utilizzando -o opzione come mostrato:

$ wget -o download.log https://wordpress.org/latest.tar.gz

Successivamente, puoi visualizzare il file di registro in tempo reale mentre il download procede utilizzando il comando tail come mostrato:

$ tail -f download.log

Limita i tentativi di download

A volte, potresti riscontrare velocità di larghezza di banda lente che potrebbero impedirti di scaricare un file. Puoi impostare il numero di tentativi di download usando wget --tries=[no. of tries] opzione come mostrato:

$ wget --tries=10 https://wordpress.org/latest.tar.gz

Nell'esempio sopra, get ritenterà il download del file tarball 10 volte prima di uscire.

Scarica dal server FTP

Puoi anche scaricare un file da un server FTP, anche quando è protetto da password. Tutto quello che devi fare è passare il nome utente e la password ftp nel comando wget come mostrato:

$ wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

Cambia l'agente utente wget

Un programma utente è essenzialmente un campo di intestazione che viene inviato a un server Web da un browser. Se stai scaricando una pagina web, wget emulerà un browser web. Succede che a volte ricevi un errore che indica che non hai autorizzazioni sufficienti per accedere al server. Quando ciò accade, è probabile che il sito Web o il server Web stia bloccando il browser associato a un particolare "User-Agent". Ecco un database degli user agent che puoi trovare.

Per modificare lo user agent, usa la sintassi:

$ wget -U "user agent" URL

Ad esempio, per scaricare il sito example.com emulando Google Chrome versione 74, che è l'ultima versione, utilizzare:

$ wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

Download ricorsivo

Per scaricare un sito Web per la visualizzazione locale, devi attivare i download ricorsivi con -r o --recursive opzione e i collegamenti vengono convertiti in collegamenti locali con -k o --convert-links opzione.

Ad esempio:

$ wget -rk https://example.com

Conclusione

Come hai notato, wget è uno strumento così potente e flessibile che puoi utilizzare per acquisire file da Internet. In questo tutorial, ti ho mostrato vari modi in cui puoi usare wget e come puoi scaricare file e pagine Web da server Web tramite http, https e ftp. Per ulteriori informazioni sull'utilizzo del comando wget, visita le pagine man.


Linux
  1. Comando di spegnimento di Linux spiegato con esempi

  2. Il comando nslookup Linux spiegato con esempi

  3. Comando Traceroute di Linux, spiegato con esempi

  4. Comando JQ in Linux con esempi

  5. Comando Wget in Linux con esempi

Linux more Comando spiegato con esempi

Il comando Tr in Linux spiegato con esempi

w Comando spiegato con esempi in Linux

Comando wget Linux con esempi

Spiegazione del comando tee di Linux (con esempi)

Spiegazione del comando csplit di Linux (con esempi)