Introduzione
wget è un tool comune per gestire i server UNIX / Linux / BSD in remoto tramite sessione ssh. Potrebbe essere necessario scaricare il software o altri file per l'installazione. Esistono anche alcuni download manager grafici per sistemi operativi Linux e UNIX:
- kget: KGet è un gestore di download versatile e intuitivo per il sistema desktop KDE.
- gwget / gwget2: Gwget è un gestore di download per Gnome Desktop
- uget - gestore di download facile da utilizzare scritto in GTK +
wget non dispone di un interfaccia grafica. Supporta HTTP, FTP, HTTPS e altri protocolli insieme a funzionalità di autenticazione e molte altre opzioni.
Come installare il comando wget su Linux
Usa il comando apt / apt-get se utilizzi Ubuntu / Debian / Mint Linux:
sudo apt install wget
L'utente Fedora Linux deve digitare il comando dnf
sudo dnf install wget
L'utente RHEL / CentOS / Oracle Linux deve digitare il comando yum :
sudo dnf install wget
L'utente SUSE / OpenSUSE Linux deve digitare il comando zypper :
zypper install wget
L'utente ArchLinux deve digitare il comando pacman:
sudo pacman -S wget
Esempi di comandi wget di Linux
Vediamo alcuni esempi comuni di comandi, sintassi e utilizzo di wget Linux. La sintassi è la seguente:
wget url
wget [options] url
Come scaricare un singolo file usando wget
Per scaricare un singolo file da riga di comando utilizzando wget, utilizzare la seguente sintassi:
wget https://noviello.it/percorso/file.tar.gz
wget ftp://ftp.noviello.it/percorso/file.tar.gz
wget -O output.file https://noviello.it/percorso/file.name.tar.gz
Come scaricare più file usando wget
Per scaricare più file simultaneamente basta semplicemente scrivere il comando più volte:
wget https://noviello.it/download/file.tar.gz ftp://ftp.noviello.it/download/file2.tar.gz ftp://ftp.noviello.it/download/file3.tar.gz
È possibile inoltre creare una variabile di shell che contiene tutti gli URL e utilizzare un loop con BASH per scaricare tutti i file, esempio:
URL="https://noviello.it/download/file1.tar.gz \
ftp://ftp.noviello.it/download/file2.tar.gz \
ftp://ftp.noviello.it/download/file3.tar.gz \
https://noviello.it/download/file4.tar.gz"
for u in $URL
do
wget "$u"
done
Come leggere gli URL da un file
Puoi inserire tutti gli URL in un file di testo e utilizzare l'opzione -i per wget per scaricare tutti i file. Innanzitutto, creare un file di testo:
nano /home/url.txt
Aggiungere un elenco di URL:
https://noviello.it/download/file1.tar.gz ftp://ftp.noviello.it/download/file2.tar.gz ftp://ftp.noviello.it/download/file3.tar.gz https://noviello.it/download/file4.tar.gz
Digitare il comando wget come segue:
wget -i /home/url.txt
Riprendere i download parziali
Puoi anche forzare wget per ottenere un file parzialmente scaricato, ad esempio riprendere i download . Questo è utile quando vuoi finire un download avviato da una precedente istanza di wget o da un altro programma: Nota che l' opzione funziona solo con server FTP / HTTP che supportano l'intestazione "range".
wget -c https://noviello.it/percorso/file.tar.gz
wget -c -i /home/url.txt
Come forzare wget per scaricare tutti i file in background
L'opzione -o serve per forzare wget ad andare in background immediatamente dopo l'avvio. Se non viene specificato alcun file di output tramite l'opzione -o, l'output viene reindirizzato al file wget-log:
wget -cb -o /home/url.log -i /home/url.txt
Oppure:
nohup wget -c -o /home/url.log -i /home/url.txt &
nohup esegue il dato comando (in questo esempio wget) con segnali di hangup ignorati, in modo che il comando possa continuare a essere eseguito in background dopo essersi disconnettersi.
Come limitare la velocità di download
È possibile limitare la velocità di download a un numero di byte al secondo. L'importo può essere espresso in byte, kilobyte con il suffisso k o megabyte con il suffisso m. Ad esempio, –limit-rate = 100k limiterà la velocità di download a 100KB/s. Ciò è utile quando, per qualsiasi motivo, non si desidera che Wget consumi l'intera larghezza di banda disponibile, utile, ad esempio, quando si desidera scaricare un file di grandi dimensioni:
wget -c -o /home/archivio.log --limit-rate=50k ftp://ftp.noviello.it/donwload/file.iso
utilizzare il suffisso m per megabyte (–limit-rate = 1m). È anche possibile specificare la quota del disco per il download automatico per evitare l'attacco DoS del disco. Il seguente comando verrà interrotto quando viene superata la quota (100 MB +).
wget -cb -o /home/url.log -i /home/url.txt --quota=100m
Come utilizzare wget con i siti protetti da password
È possibile fornire il nome utente e la password con il utilizzando wget nel seguente modo:
wget --http-user=vivek --http-password=PASSWORD https://noviello.it/percorso/file.tar.gz
Un altro modo per specificare nome utente e password è l'URL stesso.
wget 'https://nomeutente:[email protected]/file.tar.gz
Come scarica tutti i file con la stessa estensione dal server FTP remoto
In genere è possibile utilizzare caratteri speciali shell noti anche come caratteri jolly come *,?, [] Per specificare i criteri di selezione per i file. Lo stesso può essere utilizzato con i server FTP durante il download di file.
wget ftp://noviello.it/percorso/downloads/*.pdf
Oppure:
wget -g on ftp://noviello.it/percorso/downloads/*.pdf
Usare lftp quando hai bisogno di download multithread
lftp recupera gli URL HTTP in un modo simile a wget, ma segmenta il recupero in più parti per aumentare la velocità di download. Ottiene il file specificato utilizzando diverse connessioni. Ciò può accelerare il trasferimento, ma carica la rete con un forte impatto sugli altri utenti. Utilizzare solo se è necessario trasferire il file il prima possibile.
lftp -e 'pget -n 5 -c url/file.tar.gz; exit'
Il comando scaricherà file.tar.gz in 5 segmenti / connessioni. Notare che il comando wget è disponibile su Linux e UNIX / BSD.
Conclusione
Per maggiori informazioni sull'utilizzo del comando wget:
man wget