Différences entre les versions de « Le système d'exploitation GNU-Linux/Autres commandes utiles »

{{Infobox Logiciel
{{Linux}}
| 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]
}}
 
'''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]]
{{TODO|chapitre à compléter au fur et à mesure}}
 
== Description ==
 
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]].
== Manipulation des flux et des fichiers textes ==
 
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.
=== awk ===
 
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.
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 :
 
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.
$ dpkg -l | awk '{print $2}'
 
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.
Cette commande dit à dpkg que l'on ne veut que la deuxième colonne.
 
=== sed ===
 
{{TODO|la commande sed}}
 
 
== Trouver les commandes et les programmes ==
 
=== which ===
 
La commande '''which''' permet de connaitre dans quel répertoire se situe une commande (présente dans le PATH) :
 
$ which ls
/bin/ls
 
=== updatedb et locate ===
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
 
warning: locate: warning: database /var/lib/slocate/slocate.db' is more than 8 days old
/etc/log.d/conf/logfiles/maillog.conf
/var/log/maillog
 
Lorsque l'indexation a eu lieue il y a plus de 8 jours, la commande locate l'indique par un message.
 
Pour réindexer le système de fichier :
$ sudo updatedb
ou
# updatedb
 
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.
 
== Outils réseaux ==
 
=== 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]
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é.
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 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 ftp://login:passwd@ftp.host.net/thedir/*
 
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]].
Pour télécharger les sous-répertoire et fichiers on utilise l'option "'''-r'''".
 
Certaines portions de cet article sont basées sur la [http://www.gnu.org/software/wget/manual/html_node/index.html documentation Wget].
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.
 
== Utilisation de Wget ==
==Divers==
{{guide pratique}}
===file===
=== Utilisation de base ===
La commande "'''file'''" permet de connaître le type du fichier indiqué en paramètre.
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...).
# file TmDedicatedServer_2006-05-30.tgz
<pre>
TmDedicatedServer_2006-05-30.tgz: gzip compressed data, was "fr.22968.0.TmDedicatedServer_20",
# Télécharge la page à la racine du site exemple.fr dans un ficher
from Unix, last modified: Tue May 30 13:41:35 2006
# 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>
 
Il est possible de télécharger automatiquement plusieurs URLs dans une hiérarchie de dossiers.
===du===
<pre>
La commande "'''du'''" sert à afficher la taille des grandes espaces (partitions de disque et répertoires)
# Télécharge tous les fichiers *.gif d'un serveur web
# du -sh /var/temp
# (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>
 
== Liens externes ==
L'option "'''s'''" affiche seulement un total pour chaque type d'argument.
* {{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
 
{{Portail logiciels libres}}
L'option "'''h'''" permet l'affichage automatique de l'unité adaptée (Ko, Mo, Go...).
 
[[Catégorie:Logiciel du projet GNU]]
===df===
[[Catégorie:Gestionnaire de téléchargement]]
La commande '''df''' affiche l'espace occupé par les systèmes de fichiers.
[[Catégorie:Logiciel libre sous licence GPL]]
# df -h
[[Catégorie:Logiciel pour Unix]]
[[Catégorie:Logiciel pour Windows]]
[[Catégorie:HTTP]]
[[Catégorie:Commande Unix]]
 
[[ar:وجت]]
L'option "'''h'''" permet l'affichage automatique de l'unité adaptée (Ko, Mo, Go...).
[[ca:GNU Wget]]
[[cs:Wget]]
[[de:Wget]]
[[en:Wget]]
[[es:GNU Wget]]
[[fa:Wget]]
[[id:Wget]]
[[it:Wget]]
[[ja:GNU Wget]]
[[pl:Wget]]
[[pt:Wget]]
[[ru:Wget]]
[[sv:Wget]]
[[uk:Wget]]
[[zh:Wget]]
Utilisateur anonyme