« Le système d'exploitation GNU-Linux/Autres commandes utiles » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 1 :
{{Linux}}
{{Infobox Logiciel
| nom = Wget
| logo =
| image =
| description = Le gestionnaire de téléchargement libre issu du projet [[GNU]]
| développeur = Hrvoje Nikšić (Auteur original)
| dernière version = 1.12
| date de dernière version = {{Date|22|septembre|2009|en informatique}}
| version avancée =
| date de version avancée =
| environnement = [[GNU/Linux]], [[Microsoft Windows|Windows]]
| langue =
| type = Gestionnaire de téléchargement
| licence = [[Licence publique générale GNU|GNU GPL]]
| site web = {{en}} [http://www.gnu.org/software/wget/ Site officiel]
}}
 
{{TODO|chapitre à compléter au fur et à mesure}}
'''Wget''' est un [[gestionnaire de téléchargement]] [[Logiciel libre|libre]] issu du projet [[GNU]]. Il permet le téléchargement avancé de fichiers sur des réseaux et sur [[Internet]]
 
== Description ==
 
== Manipulation des flux et des fichiers textes ==
wget permet notamment de créer des [[site miroir|miroirs de sites]], ou d'effectuer des téléchargements [[récursivité|récursifs]]. Son nom vient de ''[[World Wide Web]]'' et de ''GET'' qui est le nom de la commande utilisée dans le protocole [[HTTP]] pour récupérer un fichier. Il est capable de communiquer avec les protocoles [[HTTP]] et [[File Transfer Protocol|FTP]].
 
=== awk ===
Il est écrit en [[Langage C|C]] dans un style extrêmement [[portabilité (informatique)|portable]]. C'est un programme en [[ligne de commande]] utilisé principalement sur les systèmes [[Unix]]. Des frontaux graphiques tels que ''gwget'' et des versions pour [[Microsoft Windows|Windows]] existent également.
 
La commande '''awk''' permet d'effectuer des manipulations sur des fichiers texte (ou un flux redirigé en entrée), dont notamment afficher une colonne particulière. Exemple :
wget est non interactif, ce qui signifie qu'il peut travailler en arrière-plan, sans que l'utilisateur ne soit identifié sur sa machine. Au contraire, la plupart des [[navigateur web|navigateurs web]] nécessitent la présence constante de l'utilisateur, ce qui peut être très gênant lors de transferts importants de données.
 
$ dpkg -l | awk '{print $2}'
Lorsqu'il crée un miroir ou qu'il « télécharge récursivement », wget respecte le protocole ''[[robots.txt]]''. wget peut être paramétré pour convertir en local les liens des fichiers [[Hypertext Markup Language|HTML]] téléchargés afin qu'ils soient consultables hors-ligne.
 
Cette commande dit à dpkg que l'on ne veut que la deuxième colonne.
Les [[caractère générique|caractères génériques]] de [[nom de fichier]]s et les images miroirs récursives de répertoire sont disponibles lors d'un transfert via [[File Transfer Protocol|FTP]]. wget peut lire l'estampille temporelle fournie par les [[Client (informatique)|serveurs]] HTTP et les serveurs FTP, et l'enregistrer localement. wget peut ainsi vérifier si un fichier distant a été modifié depuis la dernière recherche, et éventuellement télécharger automatiquement la nouvelle version. wget est donc un outil approprié pour créer des miroirs de sites FTP, ou de pages d'accueil.
 
=== sed ===
wget a été conçu pour être robuste si la connexion réseau est lente ou instable; si un téléchargement échoue à cause d'un problème de réseau, il va réessayer jusqu'à ce que tout le fichier soit récupéré, en reprenant là où il s'était arrêté.
 
{{TODO|la commande sed}}
wget supporte les [[serveur proxy|serveurs proxy]], ce qui peut réduire la charge du réseau, accélérer le téléchargement et permettre un accès derrière un [[pare-feu (informatique)|pare-feu]].
 
wget ne gérait pas les fichiers de plus de 2 [[giga-octet|gigaoctets]] avant la version 1.10 ; certaines personnes se sont donc tournées vers des alternatives, telles que [[ncftpget]] ou [[cURL]].
 
== Trouver les commandes et les programmes ==
Certaines portions de cet article sont basées sur la [http://www.gnu.org/software/wget/manual/html_node/index.html documentation Wget].
 
=== Utilisation de Wgetwhich ===
{{guide pratique}}
=== Utilisation de base ===
Typiquement Wget s'utilise par la ligne de commande, avec un ou plusieurs [[URL]]s passés en paramètres. De nombreuses options permettent d'affiner le comportement souhaité (téléchargement multiple, suivre les liens...).
<pre>
# Télécharge la page à la racine du site exemple.fr dans un ficher
# nommé "index.html".
wget http://www.exemple.fr/
</pre>
<pre>
# Télécharger les sources de Wget depuis le serveur FTP de GNU.
wget ftp://ftp.gnu.org/pub/gnu/wget/wget-latest.tar.gz
</pre>
 
La commande '''which''' permet de connaitre dans quel répertoire se situe une commande (présente dans le PATH) :
Il est possible de télécharger automatiquement plusieurs URLs dans une hiérarchie de dossiers.
<pre>
# Télécharge tous les fichiers *.gif d'un serveur web
# (Les syntaxes de type glob, comme "wget http://www.serveur.com/dir/*.gif", ne marche que avec FTP)
wget -e robots=off -r -l1 --no-parent -A.gif http://www.serveur.com/dir/
</pre>
<pre>
# Télécharge la page racine de exemple.fr, avec les images et les
# feuilles de styles utilisées pour afficher la page, et converti les
# URLs internes pour fonctionner avec les copies locales.
wget -p -k http://www.exemple.fr/
</pre>
<pre>
# Télécharge le contenu entier de exemple.fr
wget -r -l 0 http://www.exemple.fr/
</pre>
 
$ which ls
== Liens externes ==
/bin/ls
* {{en}} [http://www.gnu.org/software/wget/ Page sur gnu.org] (légèrement plus vieille)
* {{en}} [http://www.gnu.org/software/wget/manual/ Manuel]
* {{fr}} [http://jp.barralis.com/linux-man/man1/wget.1.php Man wget]
* {{fr}} [http://wgetui.sourceforge.net/ Interface graphique] ([http://fr.wikipedia.org/wiki/Environnement_graphique GUI]) pour WGET
 
=== updatedb et locate ===
{{Portail logiciels libres}}
La commande locate (ou slocate) permet une recherche rapide sur le système de fichier (suite à une indexation réalisée par updatedb).
 
$ locate maillog
[[Catégorie:Logiciel du projet GNU]]
[[Catégorie:Gestionnaire de téléchargement]]
[[Catégorie:Logiciel libre sous licence GPL]]
[[Catégorie:Logiciel pour Unix]]
[[Catégorie:Logiciel pour Windows]]
[[Catégorie:HTTP]]
[[Catégorie:Commande Unix]]
 
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
[[ar:وجت]]
/etc/log.d/conf/logfiles/maillog.conf
[[ca:GNU Wget]]
/var/log/maillog
[[cs:Wget]]
 
[[de:Wget]]
Lorsque l'indexation a eu lieue il y a plus de 8 jours, la commande locate l'indique par un message.
[[en:Wget]]
 
[[es:GNU Wget]]
Pour réindexer le système de fichier :
[[fa:Wget]]
$ sudo updatedb
[[id:Wget]]
ou
[[it:Wget]]
# updatedb
[[ja:GNU Wget]]
 
[[pl:Wget]]
Note sur les droits : updatedb utilise par défaut une base d'indexation globale. Il faut donc avoir les droits super-utilisateur pour mettre à jour l'indexation globale.
[[pt:Wget]]
 
[[ru:Wget]]
== Outils réseaux ==
[[sv:Wget]]
 
[[uk:Wget]]
=== wget ===
[[zh:Wget]]
 
La commande '''wget''' permet de télécharger un fichier depuis la ligne de commande :
 
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
--13:16:02-- http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
=> `linux-2.6.23.tar.bz2'
Résolution de www.kernel.org... 204.152.191.5, 204.152.191.37
Connexion vers www.kernel.org[204.152.191.5]:80...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 45,488,158 [application/x-bzip2]
9% [===> ] 4,245,225 630.29K/s ETA 01:28
 
Pour utiliser un proxy, il faut définir la variable d'environnement http_proxy. Exemple :
http_proxy=monproxy:3128 wget http://apache.cict.fr/ant/source/apache-ant-1.7.0-src.tar.gz
 
''' wget sur ftp'''
 
wget est également compatible avec le protocole ftp. Il est ainsi capable de télécharger un fichier ou un ensemble de fichier depuis un ftp distant.
 
# wget ftp://login:passwd@ftp.host.net/thedir/*
 
Pour télécharger les sous-répertoire et fichiers on utilise l'option "'''-r'''".
 
L'option "'''-nH'''" permet de ne pas sauvegarder le nom d'hôte, autrement wget fera la copie vers un nouveau dossier créé portant le nom de l'hôte du serveur ftp.
 
==Divers==
===file===
La commande "'''file'''" permet de connaître le type du fichier indiqué en paramètre.
# file TmDedicatedServer_2006-05-30.tgz
TmDedicatedServer_2006-05-30.tgz: gzip compressed data, was "fr.22968.0.TmDedicatedServer_20",
from Unix, last modified: Tue May 30 13:41:35 2006
 
===du===
La commande "'''du'''" sert à afficher la taille des grandes espaces (partitions de disque et répertoires)
# du -sh /var/temp
 
L'option "'''s'''" affiche seulement un total pour chaque type d'argument.
 
L'option "'''h'''" permet l'affichage automatique de l'unité adaptée (Ko, Mo, Go...).
 
===df===
La commande '''df''' affiche l'espace occupé par les systèmes de fichiers.
# df -h
 
L'option "'''h'''" permet l'affichage automatique de l'unité adaptée (Ko, Mo, Go...).