La commande Wget sous Linux est utilisée pour télécharger des fichiers à partir du Web à l'aide des protocoles HTTP, HTTPS et FTP. En d'autres termes, nous pouvons dire que wget est un outil de téléchargement de ligne de commande non interactif pour les systèmes Linux. Il prend également en charge le téléchargement de fichiers via des proxies HTTP.
Ici, non interactif signifie qu'il peut fonctionner en arrière-plan, alors que l'utilisateur n'est pas connecté. Lorsque nous effectuons l'installation minimale des distributions Linux, la commande wget n'est pas installée, donc pour installer wget sur les distributions Linux, exécutez
$ sudo yum install -y wget // CentOS 7 / RHEL 7 $ sudo dnf install -y wget // CentOS 8/ RHEL 8/ Rocky Linux 8 $ sudo apt install -y wget // Ubuntu / Debian $ sudo pacman -S wget // Arch Linux $ sudo zypper install wget // OpenSUSE
Dans ce didacticiel, nous couvrirons 12 exemples de commandes wget utiles. Ces exemples vous aideront à commencer à utiliser la commande wget comme un professionnel. Alors plongeons dans les exemples.
1) Télécharger un seul fichier avec wget
Pour télécharger un fichier à l'aide de la commande wget, tapez simplement la commande wget suivie du chemin absolu du fichier, l'exemple est illustré ci-dessous :
$ wget https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
Cette commande téléchargera le fichier ISO de Rocky Linux 8 dans le répertoire de travail actuel de l'utilisateur.
2) Reprendre le fichier partiellement téléchargé (-c)
Il existe certains scénarios dans lesquels nous commençons à télécharger un fichier volumineux, mais au milieu, Internet s'est déconnecté. Par conséquent, en utilisant l'option "-c" dans la commande wget, nous pouvons reprendre notre téléchargement à partir de l'endroit où il a été déconnecté. L'exemple est montré ci-dessous,
$ wget -c https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso
3) Télécharger des fichiers en arrière-plan (-b)
Utilisez l'option '-b' dans la commande wget pour télécharger des fichiers en arrière-plan. Cette option devient très utile lorsque le fichier est trop volumineux et que vous souhaitez utiliser le terminal pour d'autres tâches.
$ wget -b https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso Continuing in background, pid 4505. Output will be written to ‘wget-log’.
Comme nous pouvons le voir ci-dessus, la progression du téléchargement est capturée dans le fichier « wget-log » dans le répertoire actuel de l'utilisateur. Utilisez la commande tail pour afficher l'état du téléchargement.
$ tail -f wget-log 2300K .......... .......... .......... .......... .......... 0% 48.1K 18h5m 2350K .......... .......... .......... .......... .......... 0% 53.7K 18h9m 2400K .......... .......... .......... .......... .......... 0% 52.1K 18h13m 2450K .......... .......... .......... .......... .......... 0% 58.3K 18h14m 2500K .......... .......... .......... .......... .......... 0% 63.6K 18h14m 2550K .......... .......... .......... .......... .......... 0% 63.4K 18h13m 2600K .......... .......... .......... .......... .......... 0% 72.8K 18h10m 2650K .......... .......... .......... .......... .......... 0% 59.8K 18h11m 2700K .......... .......... .......... .......... .......... 0% 52.8K 18h14m 2750K .......... .......... .......... .......... .......... 0% 58.4K 18h15m 2800K .......... .......... .......... .......... .......... 0% 58.2K 18h16m 2850K .......... .......... .......... .......... .......... 0% 52.2K 18h20m
4) Limiter la vitesse de téléchargement dans la commande wget
Par défaut, la commande wget essaie d'utiliser toute la bande passante, mais il se peut que vous utilisiez un Internet partagé. Par conséquent, si vous essayez de télécharger un fichier volumineux à l'aide de wget, cela peut ralentir l'Internet des autres utilisateurs. Cette situation peut être évitée si vous limitez la vitesse de téléchargement à l'aide de l'option "–limit-rate".
$ wget --limit-rate=100k https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso
Dans la commande wget ci-dessus, nous avons défini la limite de téléchargement à 100 Ko.
5) Télécharger plusieurs fichiers avec wget
Si vous souhaitez télécharger plusieurs fichiers à l'aide de la commande wget , créez d'abord un fichier texte et ajoutez toutes les URL dans ce fichier texte. L'exemple est illustré ci-dessous :
$ cat download-list.txt https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-dvd1.iso https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
Exécutez maintenant la commande ci-dessous,
$ wget -i download-list.txt
La commande wget ci-dessus commencera à télécharger les fichiers ISO de manière séquentielle.
6) Augmenter les nouvelles tentatives dans wget
Nous pouvons augmenter le nombre de nouvelles tentatives en utilisant l'option "-tries" dans wget. Par défaut, la commande wget réessaye 20 fois pour réussir le téléchargement.
Cette option devient très utile lorsque vous rencontrez un problème avec votre connexion Internet et que vous téléchargez un fichier volumineux.
$ wget --tries=75 https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
La commande wget ci-dessus essaiera de télécharger le fichier au maximum 75 fois.
7) Rediriger la sortie de la commande wget vers un fichier journal
Nous pouvons rediriger la sortie de la commande wget vers un fichier journal en utilisant l'option '-o'. L'exemple est illustré ci-dessous,
$ wget -o download.log https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
le fichier download.log sera automatiquement créé dans le répertoire actuel de l'utilisateur.
8) Téléchargez le site Web complet pour une consultation locale
En utilisant la commande wget, nous pouvons télécharger le site Web complet pour une visualisation locale, la syntaxe est indiquée ci-dessous,
$ wget --mirror -p --convert-links -P ./<Local-Folder> website-URL
Où
- –mirror :active les options adaptées à la mise en miroir.
- -p :télécharge tous les fichiers nécessaires pour afficher correctement une page HTML donnée.
- –convert-links :après le téléchargement, convertit les liens dans le document pour une visualisation locale.
- -P ./Local-Folder :enregistre tous les fichiers et répertoires dans le répertoire spécifié.
9) Rejeter les types de fichiers pendant le téléchargement
Lorsque vous envisagez de télécharger le site Web complet, nous pouvons forcer la commande wget à ne pas télécharger les images en utilisant ‘ –rejeter‘ .
$ wget --reject=png <Website-To-Be-Downloaded>
10) Définition du quota de téléchargement dans wget
Nous pouvons forcer la commande wget à arrêter le téléchargement lorsque la taille du téléchargement dépasse une certaine taille. Utilisez l'option '-Q' dans la commande wget pour définir le quota de téléchargement.
$ wget -Q10m -i download-list.txt
Notez que le quota n'affectera jamais le téléchargement d'un seul fichier. Donc, si vous spécifiez wget -Q10m ftp://wuarchive.wustl.edu/ls-lR.gz, tous les ls-lR.gz seront téléchargés. Il en va de même lorsque plusieurs URL sont spécifiées sur la ligne de commande. Cependant, le quota ne fonctionnera que lors de la récupération récursive ou à partir d'un fichier d'entrée. Par conséquent, vous pouvez taper en toute sécurité 'wget -Q10m -i download-list.txt' le téléchargement sera interrompu lorsque le quota sera dépassé.
11) Télécharger le fichier à partir d'un site protégé par mot de passe
commandes wget
$ wget --ftp-user=<user-name> --ftp-password=<password> Download-URL or $ wget --user <user_name> --password <password> http://<url-path>/file_to_be_downloaded
Une autre façon de spécifier le nom d'utilisateur et le mot de passe est dans l'URL elle-même.
L'une ou l'autre méthode révèle votre mot de passe à quiconque prend la peine d'exécuter "ps". Pour éviter que les mots de passe ne soient vus, stockez-les dans .wgetrc ou .netrc, et assurez-vous de protéger ces fichiers des autres utilisateurs avec "chmod". Si les mots de passe sont vraiment importants, ne les laissez pas dans ces fichiers ou modifiez les fichiers et supprimez-les après que wget ait commencé le téléchargement.
12) Télécharger le fichier en sautant les vérifications de certificat
Il existe certains scénarios dans lesquels nous souhaitons télécharger un fichier à partir de ports https et ignorer les vérifications de certificat. Cela peut donc être réalisé en utilisant l'option "–no-check-certificate" dans la commande wget,
$ wget https://about.gitlab.com/ --no-check-certificate
Téléchargement d'Oracle Java à l'aide de la commande wget à partir du portail https et ignorer les vérifications de certificat
$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12.0.1+12/69cfe15208a647278a19ef0990eea691/jdk-12.0.1_linux-x64_bin.rpm --no-check-certificate
Téléchargement de fichiers via proxy
Il existe certaines situations où notre système fonctionne derrière le serveur proxy, donc dans de telles situations, nous devons d'abord définir un proxy, puis nous pouvons utiliser la commande wget pour télécharger le fichier à partir d'Internet. Pour définir le proxy sur la ligne de commande, utilisez les variables et la commande d'exportation suivantes
$ export http_proxy=http://<Your-Proxy-IP>:<Proxy-Port> $ export https_proxy=http://<Your-Proxy-IP>:<Proxy-Port> $ export ftp_proxy=http://<Your-Proxy-IP>:<Proxy-Port>
Dans le cas où le nom d'utilisateur et le mot de passe sont requis pour que le proxy fonctionne, utilisez les éléments suivants
$ export http_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port> $ export https_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port> $ export ftp_proxy=http://<user-name>:<password>@<Your-Proxy-IP>:<Proxy-Port>
Exemple supplémentaire
Télécharger et extraire le fichier tar avec une seule commande wget
Supposons que nous voulions télécharger la dernière version du fichier tar WordPress et que nous voulions l'extraire dans un dossier spécifique comme /var/www/html, donc pour accomplir cette tâche en utilisant la commande wget ci-dessous,
# wget -q -O - http://wordpress.org/latest.tar.gz | tar -xzf - --strip-components=1 -C /var/www/html
C'est tout ce tutoriel, j'espère que vous avez trouvé ces exemples de commandes wget très instructifs. Veuillez partager vos précieux commentaires et commentaires dans la section des commentaires ci-dessous.