GNU Wget est un utilitaire de ligne de commande permettant de télécharger des fichiers depuis le Web. Avec Wget, vous pouvez télécharger des fichiers en utilisant les protocoles HTTP, HTTPS et FTP. Wget fournit un certain nombre d'options vous permettant de télécharger plusieurs fichiers, de reprendre les téléchargements, de limiter la bande passante, les téléchargements récursifs, de télécharger en arrière-plan, de mettre en miroir un site Web et bien plus encore.
Cet article montre comment utiliser le wget
commande à travers des exemples pratiques et des explications détaillées des options les plus courantes.
Installation de Wget #
Le package wget est préinstallé sur la plupart des distributions Linux actuelles.
Pour vérifier si le package Wget est installé sur votre système, ouvrez votre console, tapez wget
, et appuyez sur entrée. Si vous avez installé wget, le système affichera wget: missing URL
. Sinon, il affichera wget command not found
.
Si wget
n'est pas installé, vous pouvez facilement l'installer à l'aide du gestionnaire de paquets de votre distribution.
Installer Wget sur Ubuntu et Debian #
sudo apt install wget
Installation de Wget sur CentOS et Fedora #
sudo yum install wget
Syntaxe de la commande Wget #
Avant d'expliquer comment utiliser le wget
commande, commençons par revoir la syntaxe de base.
Le wget
les expressions utilitaires prennent la forme suivante :
wget [options] [url]
options
- Les options Wgeturl
- URL du fichier ou du répertoire que vous souhaitez télécharger ou synchroniser.
Comment télécharger un fichier avec wget
#
Dans sa forme la plus simple, lorsqu'il est utilisé sans aucune option, wget
téléchargera la ressource spécifiée dans [url] dans le répertoire courant.
Dans l'exemple suivant, nous téléchargeons l'archive tar du noyau Linux :
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.2.tar.xz
Comme vous pouvez le voir sur l'image ci-dessus, wget
commence par résoudre l'adresse IP du domaine, puis se connecte au serveur distant et démarre le transfert.
Pendant le téléchargement, wget
affiche la barre de progression à côté du nom du fichier, de la taille du fichier, de la vitesse de téléchargement et du temps estimé pour terminer le téléchargement. Une fois le téléchargement terminé, vous pouvez trouver le fichier téléchargé dans votre répertoire de travail actuel.
Pour désactiver la sortie, utilisez le -q
option.
Si le fichier existe déjà, wget
ajoutera .N
(numéro) à la fin du nom du fichier.
Enregistrement du fichier téléchargé sous un nom différent #
Pour enregistrer le fichier téléchargé sous un autre nom, passez le -O
option suivie du nom choisi :
wget -O latest-hugo.zip https://github.com/gohugoio/hugo/archive/master.zip
La commande ci-dessus enregistrera le dernier fichier hugozip de GitHub sous latest-hugo.zip
au lieu de son nom d'origine.
Téléchargement d'un fichier dans un répertoire spécifique #
Par défaut, wget
enregistrera le fichier téléchargé dans le répertoire de travail actuel. Pour enregistrer le fichier à un emplacement spécifique, utilisez le -P
choix :
wget -P /mnt/iso http://mirrors.mit.edu/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1804.iso
La commande ci-dessus indique wget
pour enregistrer le fichier iso CentOS 7 dans le /mnt/iso
répertoire.
Limitation de la vitesse de téléchargement #
Pour limiter la vitesse de téléchargement, utilisez le --limit-rate
option. Par défaut, la vitesse est mesurée en octets/seconde. Ajouter k
pour les kilo-octets, m
pour les mégaoctets, et g
pour gigaoctets.
La commande suivante téléchargera le binaire Go et limitera la vitesse de téléchargement à 1 Mo :
wget --limit-rate=1m https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
Cette option est utile lorsque vous ne voulez pas wget
pour consommer toute la bande passante disponible.
Reprendre un téléchargement #
Vous pouvez reprendre un téléchargement en utilisant le -c
option. Ceci est utile si votre connexion tombe pendant le téléchargement d'un fichier volumineux, et au lieu de commencer le téléchargement à partir de zéro, vous pouvez continuer le précédent.
Dans l'exemple suivant, nous reprenons le téléchargement du fichier iso d'Ubuntu 18.04 :
wget -c http://releases.ubuntu.com/18.04/ubuntu-18.04-live-server-amd64.iso
Si le serveur distant ne prend pas en charge la reprise des téléchargements, wget
commencera le téléchargement depuis le début et écrasera le fichier existant.
Téléchargement en arrière-plan #
Pour télécharger en arrière-plan, utilisez le -b
option. Dans l'exemple suivant, nous téléchargeons le fichier iso OpenSuse en arrière-plan :
wget -b https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso
Par défaut, la sortie est redirigée vers wget-log
fichier dans le répertoire courant. Pour voir l'état du téléchargement, utilisez la tail
commande :
tail -f wget-log
Modification du numéro d'agent utilisateur Wget
Parfois, lors du téléchargement d'un fichier, le serveur distant peut être configuré pour bloquer l'agent utilisateur Wget. Dans de telles situations, pour émuler un navigateur différent, passez le -U
option.
wget --user-agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" http://wget-forbidden.com/
La commande ci-dessus émulera Firefox 60 demandant la page de wget-forbidden.com
Téléchargement de plusieurs fichiers #
Si vous souhaitez télécharger plusieurs fichiers à la fois, utilisez le -i
suivi du chemin vers un fichier local ou externe contenant la liste des URL à télécharger. Chaque URL doit figurer sur une ligne distincte.
L'exemple suivant montre comment télécharger les fichiers iso Arch Linux, Debian et Fedora à l'aide des URL spécifiées dans linux-distros.txt
fichier :
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
Si vous spécifiez -
en tant que nom de fichier, les URL seront lues à partir de l'entrée standard.
Téléchargement via FTP #
Pour télécharger un fichier à partir d'un serveur FTP protégé par un mot de passe, indiquez le nom d'utilisateur et le mot de passe comme indiqué ci-dessous :
wget --ftp-user=FTP_USERNAME --ftp-password=FTP_PASSWORD ftp://ftp.example.com/filename.tar.gz
Création d'un miroir d'un site Web #
Pour créer un miroir d'un site Web avec wget
, utilisez le -m
option. Cela créera une copie locale complète du site Web en suivant et en téléchargeant tous les liens internes ainsi que les ressources du site Web (JavaScript, CSS, Images).
wget -m https://example.com
Si vous souhaitez utiliser le site Web téléchargé pour la navigation locale, vous devrez transmettre quelques arguments supplémentaires à la commande ci-dessus.
wget -m -k -p https://example.com
Le -k
l'option causera wget
pour convertir les liens dans les documents téléchargés afin de les rendre adaptés à la visualisation locale. Le -p
l'option indiquera wget
pour télécharger tous les fichiers nécessaires à l'affichage de la page HTML.
Ignorer la vérification du certificat #
Si vous souhaitez télécharger un fichier via HTTPS à partir d'un hôte qui a un certificat SSL invalide, utilisez le --no-check-certificate
choix :
wget --no-check-certificate https://domain-with-invalid-ss.com
Téléchargement vers la sortie standard #
Dans l'exemple suivant, wget
va tranquillement ( flag -q
) téléchargez et affichez la dernière version de WordPress sur stdout ( flag -O -
) et dirigez-le vers le tar
utilitaire, qui extraira l'archive dans le /var/www
répertoire.
wget -q -O - "http://wordpress.org/latest.tar.gz" | tar -xzf - -C /var/www
Conclusion #
Avec wget
, vous pouvez télécharger plusieurs fichiers, reprendre des téléchargements partiels, mettre en miroir des sites Web et combiner les options Wget en fonction de vos besoins.
Pour en savoir plus sur Wget, visitez la page du manuel GNU wget.