Dans cet article, nous allons passer en revue les wget utilitaire qui récupère les fichiers de Internet (WWW) en utilisant des protocoles largement utilisés comme HTTP, HTTPS, FTP, et FTPS.
Wget est un utilitaire de ligne de commande gratuit et un téléchargeur de fichiers réseau, doté de nombreuses fonctionnalités facilitant le téléchargement de fichiers, notamment :
- Téléchargez des fichiers volumineux ou dupliquez des sites Web ou FTP complets.
- Téléchargez plusieurs fichiers à la fois.
- Définissez la bande passante et la limite de vitesse pour les téléchargements.
- Télécharger des fichiers via des proxys.
- Peut reprendre les téléchargements interrompus.
- Répertoires en miroir récursivement.
- Fonctionne sur la plupart des systèmes d’exploitation de type UNIX ainsi que Windows.
- Opération sans surveillance / en arrière-plan.
- Prise en charge des connexions HTTP persistantes.
- Prise en charge de SSL/TLS pour les téléchargements cryptés à l’aide de la bibliothèque OpenSSL ou GnuTLS.
- Prise en charge des téléchargements IPv4 et IPv6.
La syntaxe de base de Wget est:
$ wget [option] [URL]
Tout d’abord, vérifiez si le wget l’utilitaire est déjà installé ou non dans votre box Linux, à l’aide de la commande suivante.
$ rpm -q wget [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ dpkg -l | grep wget [On Debian, Ubuntu and Mint]
Installer Wget sous Linux
Si Wget n’est pas installé, vous pouvez l’installer à l’aide du gestionnaire de packages par défaut de votre système Linux, comme indiqué.
$ sudo apt install wget -y [On Debian, Ubuntu and Mint] $ sudo yum install wget -y [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a net-misc/wget [On Gentoo Linux] $ sudo pacman -Sy wget [On Arch Linux] $ sudo zypper install wget [On OpenSUSE]
le -y
L’option utilisée ici est d’empêcher les invites de confirmation avant d’installer un package. Pour plus MIAM et APTE exemples de commandes et options lisez nos articles sur :
1. Télécharger un fichier avec Wget
La commande téléchargera un seul fichier et le stockera dans un répertoire courant. Il montre également progression du téléchargement, Taille, Date, et temps lors du téléchargement.
# wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz --2021-12-10 04:15:16-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3565643 (3.4M) [application/x-gzip] Saving to: ‘wget2-2.0.0.tar.gz’ wget2-2.0.0.tar.gz 100%[==========>] 3.40M 2.31MB/s in 1.5s 2021-12-10 04:15:18 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
2. Fichier de téléchargement Wget avec un nom différent
Utilisant -O
(majuscule), télécharge des fichiers avec des noms de fichiers différents. Ici, nous avons donné le wget.zip nom de fichier comme indiqué ci-dessous.
# wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz --2021-12-10 04:20:19-- http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 446966 (436K) [application/x-gzip] Saving to: ‘wget.zip’ wget.zip 100%[===================>] 436.49K 510KB/s in 0.9s 2021-12-10 04:20:21 (510 KB/s) - ‘wget.zip’ saved [446966/446966]
3. Wget Télécharger plusieurs fichiers avec les protocoles HTTP et FTP
Ici, nous voyons comment télécharger plusieurs fichiers en utilisant HTTP et FTP protocole avec le wget commande à la fois.
$ wget http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz ftp://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz.sig --2021-12-10 06:45:17-- http://ftp.gnu.org/gnu/wget/wget2-2.0.0.tar.gz Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:470:142:3::b Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3565643 (3.4M) [application/x-gzip] Saving to: ‘wget2-2.0.0.tar.gz’ wget2-2.0.0.tar.gz 100%[==========>] 4.40M 4.31MB/s in 1.1s 2021-12-10 06:46:10 (2.31 MB/s) - ‘wget2-2.0.0.tar.gz’ saved [3565643/3565643]
4. Wget Télécharger plusieurs fichiers à partir d’un fichier
Pour télécharger plusieurs fichiers à la fois, utilisez le -i
avec l’emplacement du fichier qui contient la liste des URL à télécharger. Chaque URL doit être ajoutée sur une ligne distincte, comme indiqué.
Par exemple, le fichier suivant ‘download-linux.txt‘ contient la liste des URL à télécharger.
# cat download-linux.txt https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso https://download.rockylinux.org/pub/rocky/8/isos/x86_64/Rocky-8.5-x86_64-dvd1.iso https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.2.0-amd64-DVD-1.iso
# wget -i download-linux.txt --2021-12-10 04:52:40-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.88.247, 91.189.91.124, ... Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 3071934464 (2.9G) [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64 4%[=> ] 137.71M 11.2MB/s eta 3m 30s ...
Si votre liste d’URL a un modèle de numérotation particulier, vous pouvez ajouter des accolades pour récupérer toutes les URL qui correspondent au modèle. Par exemple, si vous souhaitez télécharger une série de noyaux Linux à partir de la version 5.1.1 à 5.1.15, vous pouvez procéder comme suit.
$ wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.{1..15}.tar.gz --2021-12-10 05:46:59-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1 Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated. The certificate has not yet been activated HTTP request sent, awaiting response... 200 OK Length: 164113671 (157M) [application/x-gzip] Saving to: ‘linux-5.1.1.tar.gz’ linux-5.1.1.tar.gz 100%[===========>] 156.51M 2.59MB/s in 61s 2021-12-10 05:48:01 (2.57 MB/s) - ‘linux-5.1.1.tar.gz’ saved [164113671/164113671] --2021-12-10 05:48:01-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.2.tar.gz Reusing existing connection to mirrors.edge.kernel.org:443. HTTP request sent, awaiting response... 200 OK Length: 164110470 (157M) [application/x-gzip] Saving to: ‘linux-5.1.2.tar.gz’ linux-5.1.2.tar.gz 19%[===========] 30.57M 2.58MB/s eta 50s
5. Téléchargement inachevé de CV Wget
En cas de téléchargement de gros fichiers, il peut arriver parfois d’arrêter le téléchargement, dans ce cas nous pouvons reprendre le téléchargement du même fichier là où il a été interrompu. -c
option.
Mais lorsque vous commencez à télécharger des fichiers sans spécifier -c
une option wget ajouterai .1
extension à la fin du fichier, considérée comme un nouveau téléchargement. C’est donc une bonne pratique d’ajouter -c basculer lorsque vous téléchargez de gros fichiers.
# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso --2021-12-10 05:27:59-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.247, 91.189.91.123, 91.189.91.124, ... Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.247|:443... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 3071934464 (2.9G), 2922987520 (2.7G) remaining [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64.iso 5%[++++++> ] 167.93M 11.1MB/s ^C [[email protected] ~]# wget -c https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso --2021-12-10 05:28:03-- https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Resolving releases.ubuntu.com (releases.ubuntu.com)... 91.189.88.248, 91.189.91.124, 91.189.91.123, ... Connecting to releases.ubuntu.com (releases.ubuntu.com)|91.189.88.248|:443... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 3071934464 (2.9G), 2894266368 (2.7G) remaining [application/x-iso9660-image] Saving to: ‘ubuntu-20.04.3-desktop-amd64.iso’ ubuntu-20.04.3-desktop-amd64.iso 10%[+++++++=====> ] 296.32M 17.2MB/s eta 2m 49s ^
6. Wget Mirror tout le site Web
Pour télécharger ou mettre en miroir ou copier un site Web entier pour une visualisation hors ligne, vous pouvez utiliser la commande suivante qui fera une copie locale du site Web avec tous les actifs (JavaScript, CSS, Images).
$ wget --recursive --page-requisites --adjust-extension --span-hosts --convert-links --restrict-file-names=windows --domains yoursite.com --no-parent yoursite.com
Explication de la commande ci-dessus.
wget --recursive # Download the whole site. --page-requisites # Get all assets/elements (CSS/JS/images). --adjust-extension # Save files with .html on the end. --span-hosts # Include necessary assets from offsite as well. --convert-links # Update links to still work in the static version. --restrict-file-names=windows # Modify filenames to work in Windows as well. --domains yoursite.com # Do not follow links outside this domain. --no-parent # Don't follow links outside the directory you pass in. yoursite.com/whatever/path # The URL to download
7. Fichiers de téléchargement Wget en arrière-plan
Avec -b
option, vous pouvez envoyer le téléchargement en arrière-plan immédiatement après le début du téléchargement et les journaux sont écrits wget.log déposer.
$ wget -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Continuing in background, pid 8999. Output will be written to ‘wget.log’.
8. Wget Définir les limites de vitesse de téléchargement de fichiers
Avec option --limit-rate=100k
, la limite de vitesse de téléchargement est limitée à 100k et les journaux seront créés sous wget.log comme indiqué ci-dessous.
$ wget -c --limit-rate=100k -b wget.log https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso Continuing in background, pid 9108. Output will be written to ‘wget-log’.
Voir le wget.log et vérifiez la vitesse de téléchargement du fichier wget.
$ tail -f wget-log 5600K .......... .......... .......... .......... .......... 0% 104K 8h19m 5650K .......... .......... .......... .......... .......... 0% 103K 8h19m 5700K .......... .......... .......... .......... .......... 0% 105K 8h19m 5750K .......... .......... .......... .......... .......... 0% 104K 8h18m 5800K .......... .......... .......... .......... .......... 0% 104K 8h18m 5850K .......... .......... .......... .......... .......... 0% 105K 8h18m 5900K .......... .......... .......... .......... .......... 0% 103K 8h18m 5950K .......... .......... .......... .......... .......... 0% 105K 8h18m 6000K .......... .......... .......... .......... .......... 0% 69.0K 8h20m 6050K .......... .......... .......... .......... .......... 0% 106K 8h19m 6100K .......... .......... .......... .......... .......... 0% 98.5K 8h20m 6150K .......... .......... .......... .......... .......... 0% 110K 8h19m 6200K .......... .......... .......... .......... .......... 0% 104K 8h19m 6250K .......... .......... .......... .......... .......... 0% 104K 8h19m ...
9. Wget Télécharger des fichiers protégés par mot de passe via FTP et HTTP
Pour télécharger un fichier depuis un serveur FTP protégé par mot de passe, vous pouvez utiliser les options --ftp-user=username
et --ftp-password=password
comme montré.
$ wget --ftp-user=narad --ftp-password=password ftp://ftp.example.com/filename.tar.gz
Pour télécharger un fichier à partir d’un serveur HTTP protégé par mot de passe, vous pouvez utiliser les options --http-user=username
et --http-password=password
comme montré.
$ wget --http-user=narad --http-password=password http://http.example.com/filename.tar.gz
10. Wget Ignorer la vérification du certificat SSL
Ignorer SSL vérification du certificat lors du téléchargement de fichiers sur HTTPS, vous pouvez utiliser le --no-check-certificate
option:
$ wget --no-check-certificate https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz --2021-12-10 06:21:21-- https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.gz Resolving mirrors.edge.kernel.org (mirrors.edge.kernel.org)... 147.75.95.133, 2604:1380:3000:1500::1 Connecting to mirrors.edge.kernel.org (mirrors.edge.kernel.org)|147.75.95.133|:443... connected. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not trusted. WARNING: The certificate of ‘mirrors.edge.kernel.org’ is not yet activated. The certificate has not yet been activated HTTP request sent, awaiting response... 200 OK Length: 164113671 (157M) [application/x-gzip] Saving to: ‘linux-5.1.1.tar.gz’ ...
11. Version Wget et aide
Avec option --version
et --help
vous pouvez voir le version et aider comme requis.
$ wget --version $ wget --help
Dans cet article, nous avons couvert Linux commandes wget avec des options pour les tâches administratives quotidiennes. Faire homme wget si vous voulez en savoir plus. Veuillez partager via notre boîte de commentaires ou si nous avons manqué quelque chose, faites-le nous savoir.
.