GNU/Linux >> Tutoriels Linux >  >> Linux

La commande Linux wget expliquée avec des exemples

L'outil de ligne de commande Linux wget est un utilitaire astucieux utilisé pour télécharger des fichiers sur Internet. Il est généralement utilisé lorsque vous souhaitez télécharger des fichiers tarball et compressés, des packages deb et rpm à partir d'un site Web.

Avec la commande wget, vous pouvez télécharger un fichier via les protocoles HTTP, HTTPS ou même FTP. Un certain nombre d'options que vous pouvez utiliser avec la commande wget qui la rend puissante.

Dans ce tutoriel, nous verrons comment utiliser la commande GNU wget à travers des exemples.

syntaxe de wget

La syntaxe d'utilisation de wget est assez simple. Invoquez simplement la commande wget, suivie des options, puis du lien vers le site Web, comme indiqué.

$ wget [ options ] url

Installer wget

La plupart des distributions Linux modernes sont livrées avec l'utilitaire wget, vous n'aurez donc pas besoin de l'installer. Cependant, il existe des cas où l'installation peut être nécessaire, en particulier dans les systèmes plus anciens et certaines instances cloud ou pour résoudre le message d'erreur '–bash:wget:Command not found'.

Pour les versions Ubuntu et Debian, exécutez la commande suivante à l'aide du gestionnaire de packages APT :

$ sudo apt-get install wget

Pour installer la commande wget dans les versions RHEL / CentOS 8, exécutez :

$ sudo dnf install wget

Pour les versions plus anciennes (RHEL 7 et CentOS 7 et versions antérieures), utilisez le gestionnaire de packages yum comme suit

$ sudo yum install wget

Pour les distributions Arch Linux et Arch Linux telles que Manjaro, Arch Linux et Endeavour OS, utilisez le gestionnaire de packages pacman comme suit :

$ sudo pacman -S wget

Télécharger un fichier depuis Internet

Dans sa forme la plus basique, sans utiliser aucune option, la commande wget télécharge un fichier depuis Internet comme spécifié dans l'URL. La syntaxe la plus simple est illustrée ci-dessous :

$ wget website_url

Par exemple, dans l'exemple ci-dessous, nous téléchargeons la dernière archive tar WordPress à partir du site WordPress officiel.

$ wget https://wordpress.org/latest.tar.gz

À partir de la sortie, nous pouvons voir que wget résout d'abord le domaine du site Web en une adresse IP, sur laquelle il se connecte au serveur et lance ensuite le transfert de fichiers. Lorsque le téléchargement est en cours, vous pouvez voir la barre de progression indiquant le nom du fichier, la taille, la vitesse de téléchargement ainsi que l'heure estimée d'achèvement du téléchargement.

Une fois le téléchargement terminé, assurez-vous de trouver le fichier dans votre répertoire de travail actuel. Cela peut être vérifié en appelant la commande ls.

Télécharger le fichier et enregistrer sous un nom spécifique

Si vous préférez enregistrer le fichier sous un nom différent du nom d'origine, passez simplement le -O option suivie de votre nom préféré.

$ wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

La commande ci-dessus télécharge le fichier d'origine "latest.tar.gz" depuis le site WordPress et l'enregistre sous "wordpress.tar.gz".

Télécharger dans un répertoire spécifique

Comme indiqué précédemment, wget télécharge le fichier dans votre répertoire de travail actuel. Vous pouvez spécifier un emplacement de téléchargement différent en utilisant le -P drapeau suivi du chemin vers le répertoire de destination.

$ wget -P /var/www/html https://wordpress.org/latest.tar.gz

Dans l'exemple ci-dessus, le fichier est enregistré dans le répertoire /var/www/html.

Limiter la vitesse de téléchargement

En utilisant wget, vous pouvez également limiter la vitesse à laquelle les fichiers sont téléchargés. Pour limiter la vitesse de téléchargement, appelez le --limit-rate option suivie de la vitesse de téléchargement. La vitesse est généralement mesurée en octets par seconde.

Pour définir le débit limite à 500 Ko/s, exécutez la commande suivante :

$ wget --limit-rate=500k https://wordpress.org/latest.tar.gz

Comment continuer à recevoir un fichier partiellement téléchargé

Parfois, lors du téléchargement d'un fichier, votre connexion peut soudainement s'interrompre, vous laissant avec un fichier partiellement téléchargé. Au lieu de redémarrer le téléchargement, utilisez le wget -C possibilité de reprendre votre téléchargement comme indiqué.

$ wget -c https://wordpress.org/latest.tar.gz

Dans l'exemple ci-dessus, nous reprenons le téléchargement du fichier tarball depuis WordPress. Notez que si le site Web ne répond pas à la reprise du téléchargement du fichier, la commande redémarrera le téléchargement du fichier et écrasera celui existant.

Télécharger le fichier en arrière-plan

Pour télécharger un fichier en arrière-plan, passez le wget -b comme indiqué ci-dessous.

$ wget -b https://osdn.net/projects/manjaro/storage/kde/20.0.3/manjaro-kde-20.0.3-200606-linux56.iso

Dans l'exemple ci-dessus, nous téléchargeons le fichier ISO Manjaro KDE Plasma en arrière-plan. Pour surveiller l'état du téléchargement, utilisez la commande wget log comme indiqué

$ tail –f wget –log

Télécharger plusieurs fichiers

Si vous avez plusieurs fichiers à télécharger, il est fastidieux d'exécuter la commande wget de manière répétitive sur le terminal. Une meilleure approche serait d'exécuter la commande wget une fois pour télécharger les fichiers les uns après les autres.

Pour ce faire, enregistrez les URL du site Web dans un fichier texte. Ensuite, invoquez la commande wget avec le -i suivi du nom du fichier texte.

Dans cet exemple, nous voulons télécharger le fichier tarball WordPress et le fichier compressé OwnCloud. Tout d'abord, nous avons enregistré les liens de téléchargement dans un exemple de fichier, appelons-le "downloads.txt":

https://wordpress.org/latest.tar.gz
https://download.owncloud.org/community/owncloud-complete-20200731.zip

Maintenant, pour télécharger plusieurs fichiers, exécutez :

$ wget -i downloads.txt

Ceux-ci seront téléchargés les uns après les autres. Et c'est ainsi que vous téléchargez plusieurs fichiers.

Télécharger un miroir d'un site Web

Une autre utilisation peu connue de wget est la possibilité de cloner ou de créer une copie miroir d'un site Web. Vous pouvez y parvenir en passant le -m comme indiqué. Cela crée une copie miroir du site Web avec tous les liens internes et d'autres ressources telles que les images, les widgets, Javascript et les fichiers CSS.

$ wget -m http://www.example.com

Si vous avez l'intention de cloner un site Web pour la navigation locale, transmettez des arguments supplémentaires comme indiqué.

$ wget -m -k -p http://www.example.com

Le -k flag facilite la conversion du lien dans un format adapté à la visualisation locale. Pendant ce temps, le -p L'option indique à l'utilitaire wget de télécharger les fichiers pertinents nécessaires pour afficher le contenu d'une page HTML sur un navigateur.

Ignorer le certificat SSL

Pour éviter de rencontrer une erreur lors du téléchargement d'un fichier via HTTPS à partir d'un serveur Web dont le certificat SSL n'est pas fiable ou valide, transmettez le --no-check-certificate choix :

$ wget --no-check-certificate https://domain-with-untrusted-ssl-cert

Télécharger et rediriger la sortie vers le fichier journal

La sortie de la commande wget peut être enregistrée pendant le téléchargement du fichier en utilisant le -o comme indiqué :

$ wget -o download.log https://wordpress.org/latest.tar.gz

Par la suite, vous pouvez afficher le fichier journal en temps réel au fur et à mesure de la progression du téléchargement à l'aide de la commande tail comme indiqué :

$ tail -f download.log

Limiter les tentatives de téléchargement

Parfois, vous pouvez rencontrer des vitesses de bande passante lentes qui peuvent vous empêcher de télécharger un fichier. Vous pouvez définir le nombre de tentatives de téléchargement à l'aide de wget --tries=[no. of tries] comme indiqué :

$ wget --tries=10 https://wordpress.org/latest.tar.gz

Dans l'exemple ci-dessus, get réessayera de télécharger le fichier tarball 10 fois avant de quitter.

Télécharger depuis le serveur FTP

Vous pouvez également télécharger un fichier à partir d'un serveur FTP, même s'il est protégé par un mot de passe. Tout ce que vous avez à faire est de passer le nom d'utilisateur et le mot de passe ftp dans la commande wget comme indiqué :

$ wget --ftp-user=[ftp_user] --ftp-password=[ftp_password] ftp://ftp.ftp-site.com

Modifier l'agent utilisateur wget

Un agent utilisateur est essentiellement un champ d'en-tête qui est envoyé à un serveur Web par un navigateur. Si vous téléchargez une page Web, wget émulera un navigateur Web. Il se trouve que parfois, vous obtenez une erreur indiquant que vous n'avez pas les autorisations suffisantes pour accéder au serveur. Lorsque cela se produit, il est probable que le site Web ou le serveur Web bloque le navigateur associé à un « agent utilisateur » particulier. Voici une base de données des agents utilisateurs que vous pouvez trouver.

Pour changer d'agent utilisateur, utilisez la syntaxe :

$ wget -U "user agent" URL

Par exemple, pour télécharger le site example.com en émulant Google Chrome version 74 - qui est la dernière version, utilisez :

$ wget -U "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36" "http://example.com"

Téléchargement récursif

Pour télécharger un site Web pour un affichage local, vous devez activer les téléchargements récursifs avec -r ou --recursive option et les liens sont convertis en liens locaux avec -k ou --convert-links option.

Par exemple :

$ wget -rk https://example.com

Conclusion

Comme vous l'avez observé, wget est un outil tellement puissant et flexible que vous pouvez utiliser pour récupérer des fichiers sur Internet. Dans ce didacticiel, je vous ai montré différentes manières d'utiliser wget et de télécharger des fichiers et des pages Web à partir de serveurs Web via http, https et ftp. Pour plus d'informations sur l'utilisation de la commande wget, consultez les pages de manuel.


Linux
  1. Commande d'arrêt Linux expliquée avec des exemples

  2. Commande Linux nslookup expliquée avec des exemples

  3. Commande Linux Traceroute, expliquée avec des exemples

  4. Commande JQ sous Linux avec exemples

  5. Commande Wget sous Linux avec des exemples

Commande Linux plus expliquée avec des exemples

Commande Tr sous Linux expliquée avec des exemples

w Commande expliquée avec des exemples sous Linux

Commande wget Linux avec exemples

Explication de la commande Linux tee (avec exemples)

La commande Linux csplit expliquée (avec des exemples)