Téléchargement de fichiers Wget sur Linux
La commande wget est utilisée pour récupérer du contenu à partir de serveurs via HTTP, HTTPS et FTP. Il simplifie de nombreuses tâches de téléchargement que vous devriez normalement effectuer vous-même en parcourant un site Web et en cliquant manuellement sur les liens de téléchargement. wget est capable d’exécuter la même fonction à partir de la ligne de commande et dispose de nombreuses fonctionnalités supplémentaires qui peuvent vous faire gagner du temps, comme le téléchargement récursif de répertoires.
Dans cet article, nous allons vous montrer de quoi wget est capable et vous fournir des exemples de commandes que vous pouvez utiliser dans votre propre terminal Linux.
Dans ce tutoriel, vous allez apprendre :
- Comment télécharger un fichier à partir d’un site Web avec wget
- Comment télécharger un répertoire
- Comment mettre en miroir un site Web
- Comment télécharger et décompresser automatiquement un fichier
- Comment s’authentifier avec wget
- Comment utiliser le mode silencieux avec wget
Commande wget sous Linux
Télécharger un fichier à partir d’un site Web avec wget
Wget rend les téléchargements de fichiers très indolores et faciles. C’est probablement le meilleur outil en ligne de commande sur Linux adapté à ce travail, bien que d’autres outils puissent également effectuer la tâche, comme cURL.
Jetons un coup d’œil à quelques exemples de la façon dont nous pourrions utiliser wget pour télécharger une distribution Linux, qui sont proposées sur les sites Web des développeurs sous forme de fichiers ISO.
La commande la plus basique que vous pouvez exécuter avec wget consiste simplement à fournir l’URL du fichier que vous souhaitez télécharger.
wget http://example.com/linux.iso
Téléchargement d’un fichier ISO avec Wget sous Linux
wget téléchargera le fichier spécifié à l’endroit à partir duquel vous exécutez la commande. Il affichera la progression du téléchargement, la vitesse actuelle et le temps d’achèvement estimé. Il crache également d’autres informations sur son processus de connexion au serveur et de demande du fichier. Cette sortie peut être utile lors du diagnostic d’un problème de connexion.
Spécifier le nom du répertoire et du fichier
Vous pouvez également spécifier un répertoire dans lequel le fichier doit être téléchargé, ainsi que choisir un nom pour le téléchargement. Utilisez l’option -O (sortie) et entrez le répertoire et le nom du fichier après l’URL.
wget http://example.com/linux.iso -O /path/to/dir/myfile.iso
Spécifiez l’emplacement où vous souhaitez enregistrer le fichier téléchargé
Reprise des téléchargements
Une caractéristique intéressante de wget est qu’il peut reprendre les téléchargements. Si le téléchargement de votre fichier a été interrompu, soit involontairement, soit parce que vous deviez l’arrêter avec Ctrl+C, vous pouvez reprendre là où vous vous étiez arrêté en utilisant l’option -c. Assurez-vous simplement que vous êtes dans le bon répertoire ou vous indiquez à wget où trouver le fichier partiel avec -O.
wget -c http://example.com/linux.iso
Wget reprend un téléchargement interrompu, comme indiqué par Contenu partiel
Télécharger plusieurs fichiers
Si vous souhaitez télécharger plusieurs fichiers, créez un document texte contenant une liste de liens de téléchargement, avec chaque URL sur une ligne distincte. Ensuite, exécutez la commande wget avec l’option -i et spécifiez le chemin d’accès à votre document texte.
wget -i download-links.txt
Limiter la vitesse de téléchargement
Une autre option pratique de wget est de limiter sa vitesse de téléchargement. Cela est utile si vous ne souhaitez pas qu’un téléchargement volumineux vole toute la bande passante de votre réseau, ce qui peut donner de la latence aux autres utilisateurs de votre réseau. Utilisez l’indicateur --limit-rate et spécifiez k pour les kilo-octets, m pour les mégaoctets ou g pour les gigaoctets. Par exemple, cela permet de télécharger un fichier à une vitesse maximale de 500 Ko par seconde :
wget --limit-rate 500k http://example.com/linux.iso
Télécharger un répertoire
wget peut télécharger un répertoire entier, de manière récursive, à partir d’un serveur FTP ou Web (HTTP/HTTPS). Pour FTP, utilisez simplement l’option -r (récursive) dans votre commande et spécifiez le répertoire que vous souhaitez obtenir.
wget -r ftp://example.com/path/to/dir
Si vous essayez de télécharger le répertoire d’un site web, la commande est à peu près la même, mais dans la plupart des cas, vous voudrez également ajouter l’option --no-parent (ou simplement -np) afin que wget n’essaie pas de suivre les liens vers l’index du site.
wget -r -np http://example.com/directory
Comment mettre en miroir un site Web
Wget a la capacité de suivre tous les liens d’un site Web, en téléchargeant tout ce qu’il rencontre au fur et à mesure. Cela fait de wget un outil extrêmement puissant, car non seulement il peut télécharger un répertoire ou plusieurs fichiers, mais il peut également refléter un site Web entier.
Les sites Web sont constitués de fichiers HTML, et vous trouverez généralement également des fichiers .jpg ou .png images, des .css (feuilles de style), des .js (JavaScript) et une variété d’autres. Wget peut trouver tous ces fichiers automatiquement et les télécharger dans la même structure de répertoires que le site Web, ce qui vous donnerait essentiellement une version hors ligne de ce site.
Incluez l’indicateur -m (miroir) dans votre commande wget et l’URL du site que vous souhaitez mettre en miroir.
wget -m http://example.com
Dans la plupart des cas, vous voudrez également inclure l’option -p dans votre commande, ce qui indique à wget de télécharger tous les fichiers qui seraient nécessaires pour afficher correctement le site Web hors ligne, tels que les feuilles de style. L’option -k peut également améliorer l’affichage du site, car elle renommera les répertoires et les références si nécessaire pour une visualisation hors ligne. Le fait que vous ayez besoin ou non de ces commandes dépend simplement du site que vous mettez en miroir.
wget -m -p -k http://example.com
Commande wget utilisée pour mettre en miroir un site Web
Télécharger et décompresser automatiquement un fichier
Vous pouvez gagner du temps lors du téléchargement d’une archive tar en envoyant votre commande wget à tar afin qu’il télécharge et décompresse tout en une seule commande. Pour ce faire, utilisez l’option -O -, qui indique à wget de télécharger le fichier sur la sortie standard. Ensuite, il suffit de passer directement à votre commande tar.
Par exemple, pour télécharger la dernière version de WordPress et ouvrir l’archive tar en une seule commande :
wget https://wordpress.org/latest.tar.gz -O - | tar -xz
Comment s’authentifier avec wget
Si le serveur HTTP ou FTP à partir duquel vous essayez de télécharger nécessite une authentification, vous disposez de plusieurs options pour fournir un nom d’utilisateur et un mot de passe avec wget. Ces exemples de commandes fonctionnent à la fois avec FTP et HTTP.
La première option consiste à fournir le nom d’utilisateur et le mot de passe dans la commande wget elle-même, ce qui n’est pas la méthode la plus sûre puisque votre mot de passe est visible par toute personne regardant votre écran ou consultant l’historique des commandes de votre utilisateur :
wget --user=USERNAME --password=SECRET http://example.com/SecureFile.txt
Il vous suffit de remplacer USERNAME et SECRET par les informations appropriées.
La deuxième option est de laisser wget vous demander un mot de passe, ce qui le garde caché à ceux qui peuvent voir votre écran ou consulter votre historique de commandes :
wget --user=USERNAME --ask-password http://example.com/SecureFile.txt
Utiliser le mode silencieux avec wget
Pour supprimer toute la sortie affichée par wget, vous pouvez utiliser l’option -q (silencieux). Ceci est particulièrement utile lors de l’enregistrement sur la sortie standard (-O -), car cela peut spammer votre terminal avec une tonne de texte. Lorsque vous utilisez -q, vous saurez que votre téléchargement est terminé lorsque votre terminal revient à une invite normale, puisque wget ne peut vous donner aucune indication lui-même.
wget -q http://example.com
Une option quelque peu similaire consiste à mettre en arrière-plan la commande wget avec -b. Cela vous permettra de fermer votre terminal ou de continuer à l’utiliser pour autre chose pendant que la commande wget continue son travail en arrière-plan.
wget -b http://example.com/linux.iso
wget enregistrera la sortie habituelle dans un fichier texte (wget-log par défaut) et vous indiquera l’ID du processus. Si vous souhaitez annuler le téléchargement, vous pouvez toujours utiliser la commande kill suivie du PID.
Utilisation de la commande wget pour mettre en arrière-plan un téléchargement
Conclusion
Wget est tout simplement le meilleur utilitaire de ligne de commande que vous pouvez utiliser pour télécharger des fichiers sur Linux. Il dispose de nombreuses options, dont beaucoup sont conçues pour vous faire gagner du temps, comme la fonction de téléchargement récursif. Dans cet article, nous avons abordé certaines des utilisations de base de la commande wget. Croyez-le ou non, ce n’est qu’effleurer la surface de ce qu’il peut faire.





