Explication de la commande wget sous Linux

Dans un monde qui repose de plus en plus sur les données et les fichiers numériques, il devient nécessaire d’avoir des outils efficaces pour télécharger du contenu d’Internet de manière fiable et rapide. C’est ici que la commande wget entre en jeu, cet outil silencieux et puissant qui, depuis des années, reste l’une des outils les plus utilisés par les développeurs web, les administrateurs système et les analystes de données sur le système Linux.

wget a été développé pour la première fois en 1996 par Hrvoje Nikšić, et depuis lors, il est devenu une partie essentielle des outils de tout utilisateur de Linux. La force de wget réside dans sa simplicité et son efficacité – elle n’a pas besoin d’une interface graphique et peut être exécutée facilement via la ligne de commande, ce qui la rend idéale pour l’utilisation dans les scripts et les processus automatisés.

Beaucoup d’entre nous ont besoin quotidiennement de télécharger des fichiers depuis Internet – que ce soit des mises à jour logicielles, des ensembles de données pour l’analyse, ou même des pages web entières pour y faire référence plus tard. Vous pourriez vous demander : “Pourquoi ne pas utiliser un navigateur pour cela ?” La réponse est simplement que wget offre un contrôle et une précision que les navigateurs ordinaires ne peuvent pas fournir.

Base de l’utilisation de la commande wget

la commande wget est un outil de ligne de commande gratuit pour télécharger des fichiers depuis le réseau en utilisant les protocoles HTTP, HTTPS et FTP. Il a été conçu pour être puissant dans les environnements instables ou lents, où il peut reprendre les téléchargements interrompus – une fonctionnalité inestimable lorsqu’on gère des fichiers volumineux ou des connexions internet instables.

Pour vérifier si wget est installé sur votre système, vous pouvez exécuter :

which wget

Pour connaître la version installée :

wget --version

La forme la plus simple d’utilisation de wget est :

wget [lien du fichier]

Cet ordre téléchargera le fichier depuis le lien spécifié dans le dossier courant, en affichant une barre de progression indiquant le pourcentage d’avancement, la vitesse de téléchargement et le temps restant. wget peut être comparé à une machine de téléchargement intelligente travaillant en arrière-plan, sans distraire votre attention d’une interface complexe, mais en se concentrant sur l’accomplissement efficace de sa mission.

Options de base de la commande wget

wget vient avec une série riche d’options qui vous permettent de contrôler le processus de téléchargement. Explorons-en les plus importantes :

Option -O : pour spécifier le nom du fichier sauvegardé :
wget https://example.com/file.zip -O custom_name.zip

Option -P : pour spécifier le chemin de sauvegarde :
wget https://example.com/file.zip -P ~/downloads

Option -c : pour reprendre un téléchargement interrompu :
wget -c https://example.com/big_file.iso

Option -q : pour le mode silencieux (sans sortie) :
wget -q https://example.com/file.pdf

Option –verbose : pour augmenter les détails affichés :
wget --verbose https://example.com

Utilisations avancées de wget

La puissance de wget se révèle lorsque l’on parle des tâches complexes comme :

Télécharger des sites web entiers de manière répétée pour créer une sauvegarde ou les consulter ultérieurement :

wget --mirror --convert-links --adjust-extension --page-requisites --no-parent https://example.com

Dans cet exemple :
1. –mirror créé une copie miroir complète du site
2. –convert-links convertit les liens au format local
3. –adjust-extension ajoute les extensions de fichiers appropriées
4. –page-requisites télécharge tout ce nécessaire pour afficher la page (images, stylesheets, etc.)
5. –no-parent empêche le téléchargement en dehors du répertoire principal

Télécharger plusieurs fichiers selon un motif spécifique :

wget https://example.com/files_{1..10}.jpg

Ou en utilisant une liste enregistrée dans un fichier :

wget -i download_list.txt

Interaction avec différents protocoles

wget ne fonctionne pas uniquement avec HTTP/HTTPS, il supporte également :

Téléchargement via FTP avec un nom d’utilisateur et un mot de passe :
wget --ftp-user=USERNAME --ftp-password=PASSWORD ftp://example.com/file.zip

Définir le nombre d’essais en cas d’échec :
wget --tries=10 https://example.com/unstable_file

Vous pouvez également contrôler la vitesse de téléchargement pour éviter de consommer toute la bande passante :

wget --limit-rate=200k https://example.com/large_file

Solutions aux problèmes communs

Parfois, vous rencontrerez des défis lors de l’utilisation de la commande wget, voici comment les surmonter :

Certificat SSL non vérifié :
wget --no-check-certificate https://example.com

Sites web qui vérifient l’agent utilisateur :
wget --user-agent="Mozilla/5.0" https://example.com

Sites web demandant une authentification :
wget --http-user=USER --http-password=PASS https://example.com/protected

Téléchargement depuis des sites web restreints :
wget --referer=https://site-parent.com https://restricted-site.com/file

Automatiser les tâches avec wget

La véritable puissance de wget se fait sentir lors de son utilisation dans les scripts :

Exemple d’un script de sauvegarde quotidienne :

#!/bin/bash
BACKUP_DIR="/backups/$(date +%Y-%m-%d)"
mkdir -p \$BACKUP_DIR
wget --mirror --convert-links --no-parent --directory-prefix=\$BACKUP_DIR https://example.com

Exemple pour surveiller les modifications d’un fichier via cron :

0 * * * * wget -q --spider https://example.com/status -O - | grep -q "OK" || echo "Alert" | mail -s "Site Down" admin@example.com

Nous avons exploré dans ce guide complet la véritable puissance de l’outil wget sous le système Linux. De l’utilisation de base telle que le téléchargement d’un seul fichier, jusqu’aux fonctionnalités avancées telles que le téléchargement de sites web entiers et l’automatisation des tâches complexes.

Références

1. Page officielle de GNU Wget

2. Manuel utilisateur officiel

3. Documentation Ubuntu pour les outils de ligne de commande

4. Livre « Linux Command Line and Shell Scripting Bible »

Partagez votre amour
meher makloufi
meher makloufi

Je suis un tunisien né en 1993, diplômé en informatique de gestion. Je travaille comme développeur web depuis 2016, et je suis un chercheur en informatique passionné. Je partage du contenu qui reflète mon expérience et tout ce que j'ai appris de manière simple et claire pour tous ceux qui cherchent à en savoir plus dans ce domaine. Je possède et gère plusieurs sites web et combine mon amour pour l'art avec la lecture de livres scientifiques, intellectuels et religieux. Je me porte volontaire autant que possible pour enrichir et soutenir la communauté technique arabe d'abord et la communauté mondiale ensuite.

Articles: 42