GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Wget sous Linux avec des exemples

Présentation

La commande Wget est un utilitaire de ligne de commande Linux qui nous aide à télécharger les fichiers à partir du Web. Nous pouvons télécharger les fichiers à partir de serveurs Web en utilisant les protocoles HTTP, HTTPS et FTP. Nous pouvons utiliser wget dans les scripts et les cronjobs.

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     for  CentOS 7 / RHEL 7
$ sudo dnf install -y wget     for CentOS 8/ RHEL 8/ Rocky Linux 8
$ sudo apt install -y wget     for Ubuntu / Debian
$ sudo pacman -S wget          for Arch Linux
$ sudo zypper install wget     for OpenSUSE

Télécharger un seul fichier avec wget

[unixcop@rhel-pc ~]$ wget https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
--2021-08-13 04:24:05--  https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.91.124, 91.189.91.123, 2001:67c:1562::28, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.91.124|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2877227008 (2.7G) [application/x-iso9660-image]
Saving to: ‘ubuntu-20.04.2.0-desktop-amd64.iso’

ubuntu-20.04.2.0-desktop-amd64.iso      47%[=======          ]   4.3G   2.13M/s    eta 1h 02m

Cette commande téléchargera le fichier ISO d'Ubuntu dans le répertoire de travail actuel de l'utilisateur.

Reprendre le fichier partiellement téléchargé

En utilisant l'option '-c' dans la commande wget, nous pouvons reprendre notre téléchargement à partir de l'endroit où il s'est déconnecté.

[unixcop@rhel-pc ~]$ wget -c https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

Télécharger des fichiers en arrière-plan

Utilisez l'option '-b' dans la commande wget pour télécharger des fichiers en arrière-plan

[unixcop@rhel-pc ~]$ wget -b https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
Continuing in background, pid 2412.
Output will be written to ‘wget-log’.
[unixcop@rhel-pc ~]$ 

Utilisez également la commande tail pour afficher l'état du téléchargement.

[unixcop@rhel-pc ~]$ tail -f wget-log
  2700K .......... .......... .......... .......... ..........  0% 85.8K 16h41m
  2750K .......... .......... .......... .......... ..........  0% 90.0K 16h32m
  2800K .......... .......... .......... .......... ..........  0% 78.8K 16h25m
  2850K .......... .......... .......... .......... ..........  0%  189K 16h13m
  2900K .......... .......... .......... .......... ..........  0% 92.4K 16h5m
  2950K .......... .......... .......... .......... ..........  0% 89.7K 15h57m
  3000K .......... .......... .......... .......... ..........  0% 92.8K 15h50m
  3050K .......... .......... .......... .......... ..........  0%  177K 15h39m
  3100K .......... .......... .......... .......... ..........  0% 91.2K 15h32m
  3150K .......... .......... .......... .......... ..........  0% 96.0K 15h25m
  3200K .......... .......... .......... .......... ..........  0% 79.6K 15h20m
  3250K .......... .......... .......... .......... ..........  0%  199K 15h9m
  3300K .......... .......... .......... .......... ..........  0% 97.7K 15h3m
  3350K .......... .......... .......... .......... ..........  0% 94.6K 14h57m
  3400K .......... .......... .......... .......... ..........  0% 95.8K 14h51m
  3450K .......... .......... .......... .......... ..........  0% 96.0K 14h45m
  3500K .......... .......... .......... .......... ..........  0%  102K 14h39m
  3550K .......... .......... .......... .......... ..........  0%  153K 14h31m
  3600K .......... .......... .......... .......... ..........  0% 62.1K 14h29m
  3650K .......... .......... .......... .......... ..........  0%  109K 14h23m
  3700K .......... .......... .......... .......... ..........  0% 83.1K 14h19m
  3750K .......... .......... .......... .......... ..........  0%  118K 14h13m
  3800K .......... .......... .......... .......... ..........  0%  104K 14h8m
  3850K .......... .......... .......... .......... ..........  0%  112K 14h2m





etc..

Limiter la vitesse de téléchargement lors du téléchargement des fichiers

Vous pouvez limiter la vitesse de téléchargement en utilisant l'option "-limit-rate".

[unixcop@rhel-pc ~]$ wget --limit-rate=350k https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso

nous avons fixé la limite de téléchargement à 350 Ko.

Télécharger plusieurs fichiers

Créez d'abord un fichier texte et ajoutez toutes les URL dans ce fichier texte comme indiqué ci-dessous :

[unixcop@rhel-pc ~]$ cat wget-download-list.txt 
http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
https://releases.ubuntu.com/20.04.2.0/ubuntu-20.04.2.0-desktop-amd64.iso
https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.4-x86_64-minimal.iso

[unixcop@rhel-pc ~]$ 

Lancez maintenant :

[unixcop@rhel-pc ~]$ wget -i wget-download-list.txt 
--2021-08-13 04:36:46--  http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso
Resolving centos.mirror.server24.net (centos.mirror.server24.net)... 217.70.144.100, 2001:1a38:144::100
Connecting to centos.mirror.server24.net (centos.mirror.server24.net)|217.70.144.100|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9928966144 (9.2G) [application/octet-stream]
Saving to: ‘CentOS-8.4.2105-x86_64-dvd1.iso’

CentOS-8.4.2105-x86_64-dvd1.iso         4%[==                 ] 964M  1.9M/s    eta 3h 44m
[unixcop@rhel-pc ~]$ 

Augmenter les nouvelles tentatives en 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.

# wget --tries=60 http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

La commande ci-dessus fera en sorte que la commande wget essaie de télécharger le fichier au maximum 60 fois.

Redirection de la sortie de la commande wget vers un fichier

Nous pouvons rediriger la sortie vers un fichier journal en utilisant l'option "-o" comme indiqué ci-dessous :

$ wget -o download_file.log http://centos.mirror.server24.net/8.4.2105/isos/x86_64/CentOS-8.4.2105-x86_64-dvd1.iso

Vous pouvez le montrer avec

# ls
# cat download_file.log

Mise en miroir d'un site Web complet avec la commande wget

Nous pouvons le faire avec :

# wget --mirror -p --convert-links -P ./<Local-Folder> website-URL

  • –miroir  :activez les options adaptées à la mise en miroir.
  • p :télécharger tous les fichiers pour afficher correctement une page HTML donnée.
  • –convertir des liens  :convertir les liens dans le document pour une visualisation locale.
  • -P ./Local-Dossier :enregistre tous les fichiers et répertoires dans le répertoire spécifié.

Rejeter les types de fichiers lors du 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 fichiers pdf, par exemple en utilisant l'option "–reject".

# wget --reject=pdf <Website-To-Be-Downloaded>

Définissez le quota de téléchargement

Wget peut 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 -Q14m -i wget-download-list.txt

Autoriser wget à écraser les fichiers

Si nous spécifions le fichier de sortie à l'aide de l'option -o, il écrasera tout fichier existant.

wget -q http://www.example.com/filename.txt -O /path/filename.txt

Télécharger un fichier à l'aide du serveur FTP

​Wget utilise le FTP anonyme pour télécharger les fichiers depuis le Web. Il ne nécessite pas de connexion FTP pour télécharger les fichiers.

# wget ftp://ftp.example.com/file.tar.gz

Téléchargement du fichier depuis un site protégé par mot de passe

# wget --ftp-user=<user-name> --ftp-password=<password> Download-URL
OR
# wget --user <user_name> --password <password> http://<url-path>/file_you_want_to_download

Une autre façon de spécifier le nom d'utilisateur et le mot de passe est dans l'URL elle-même.

Télécharger un fichier à partir d'une URL sécurisée non approuvée

Vous souhaitez télécharger un fichier à partir de ports https et souhaitez ignorer les vérifications de certificat ?

cela peut donc être accompli en utilisant l'option "–no-check-certificate"

# wget https://example.com/file.tar.gz –no-check-certificate

Exemple  : Télécharger Oracle Java à 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

Nous devons d'abord définir un proxy, puis nous pouvons 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 le proxy, utilisez :

# 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>

Vérifier la version de wget

Nous pouvons vérifier la version de la commande Wget comme ci-dessous

# wget –version

Conclusion

Wget a un grand nombre d'options, nous en avons couvert beaucoup.

Au fait, nous pouvons trouver plus d'options à partir de la page de manuel.

# man wget


Linux
  1. Commande Linux wc avec exemples

  2. 12 exemples de commandes Wget utiles sous Linux

  3. Commande Linux Tee avec exemples

  4. Commande JQ sous Linux avec exemples

  5. Exemples de commandes wget sous Linux

Commande Tr sous Linux avec des exemples

15 Commande Linux ps avec exemples

Commande de CD Linux avec exemples

La commande Linux wget expliquée avec des exemples

Commande IP Linux avec exemples

Commande wget Linux avec exemples