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

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m 81 versions depuis w:GNU Wget
fusion d'historique
Ligne 1 : Ligne 1 :
{{Linux}}
{{Infobox Logiciel
| couleur boîte = <!-- pour adapter la couleur de la boîte au logo -->
| nom et logo = GNU Wget
| nom = GNU Wget
| logo = [[File:Official_gnu.svg|120px|link=]]
| image = [[Fichier:Wget screenshot.png|300px]]
| description = Capture d'écran de Wget sous GNU/Linux
| développeur = [[Projet GNU]]
| date de première version = Janvier 1996
| dernière version = 1.12<!-- Utilisation du modèle « Modèle:Dernière version stable/GNU Wget » -->
| date de dernière version = {{Date|22|septembre|2009|en informatique}}<!-- idem -->
| version avancée =
| date de version avancée =
| langage de programmation =
| environnement = [[GNU/Linux]], [[Microsoft Windows|MS Windows]]
| langue =
| type = [[File Transfer Protocol|client FTP]] / [[client HTTP]]
| licence = [[Licence publique générale GNU|GNU GPL]]
| site web = {{Site officiel|en|http://www.gnu.org/software/wget/}}
| date de mise à jour = 8 juillet 2011
}}
'''Wget''' est un [[Client (informatique)|client]] [[client HTTP |HTTP]], [[Hypertext_Transfer_Protocol#HTTPS|HTTPS]] et [[File Transfer Protocol|FTP]] développé en janvier 1996 par '''Hrvoje Nikšić''' puis maintenu pour le [[projet GNU]] depuis février 1997. Son [[interface en ligne de commande]] permet de récupérer du contenu d'un serveur [[Serveur HTTP|serveur Web]] ou FTP. C'est un [[logiciel libre]] dont le nom est dérivé de l'anglais [[World Wide Web]] et [[get]].


{{TODO|chapitre à compléter au fur et à mesure}}
GNU Wget est aujourd'hui maintenu par Giuseppe Scrivano.


== Caractéristiques techniques ==
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]
9% [===> ] 4,245,225 630.29K/s ETA 01:28
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é.


Pour utiliser un proxy, il faut définir la variable d'environnement http_proxy. Exemple :
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]].
http_proxy=monproxy:3128 wget http://apache.cict.fr/ant/source/apache-ant-1.7.0-src.tar.gz


''' wget sur ftp'''
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]].


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.
== Utilisation de GNU Wget ==

{{pour Wikibooks}}
# wget ftp://login:passwd@ftp.host.net/thedir/*
=== Utilisation de base ===

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.

==== 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...).
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>
<pre>
Ligne 72 : Ligne 104 :
</pre>
</pre>


==Divers==
== Implémentations graphiques ==
===file===
* [[Gwget]] : une interface graphique libre [[GNOME]] pour Wget<ref name="Gwget">[http://projects.gnome.org/gwget/ « GWGET - Download Manager for GNOME2 »], ''projects.gnome.org'', 8 juillet 2011.</ref>.
La commande "'''file'''" permet de connaître le type du fichier indiqué en paramètre.

# file TmDedicatedServer_2006-05-30.tgz
==Notes et références==
TmDedicatedServer_2006-05-30.tgz: gzip compressed data, was "fr.22968.0.TmDedicatedServer_20",
{{références}}
from Unix, last modified: Tue May 30 13:41:35 2006


===du===
== Liens externes ==
La commande "'''du'''" sert à afficher la taille des grandes espaces (partitions de disque et répertoires)
* {{en}} [http://directory.fsf.org/project/wget/ GNU Wget] sur le [[répertoire du logiciel libre]].
# du -sh /var/temp
* {{en}} [http://savannah.gnu.org/bzr/?group=wget GNU Wget] sur les dépôts [[Bazaar (logiciel)|Bazaar]] de la plateforme [[GNU Savannah]].


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...).
{{GNU}}
{{Portail|logiciels libres||GNU/Linux}}
{{DEFAULTSORT:Wget, Gnu}}


===df===
[[Catégorie:Logiciel du projet GNU]]
La commande '''df''' affiche l'espace occupé par les systèmes de fichiers.
[[Catégorie:Logiciel libre sous licence GPL]]
# df -h
[[Catégorie:Client FTP]]
[[Catégorie:HTTP]]
[[Catégorie:Logiciel pour Linux]]
[[Catégorie:Logiciel pour Windows]]


L'option "'''h'''" permet l'affichage automatique de l'unité adaptée (Ko, Mo, Go...).
[[ar:وجت]]
[[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]]

Version du 8 juillet 2011 à 19:45

À faire...link={{{link}}}

chapitre à compléter au fur et à mesure


Manipulation des flux et des fichiers textes

awk

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 :

 $ dpkg -l | awk '{print $2}'

Cette commande dit à dpkg que l'on ne veut que la deuxième colonne.

sed

À faire...link={{{link}}}

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]

 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.

Utilisation de base

Typiquement Wget s'utilise par la ligne de commande, avec un ou plusieurs URLs passés en paramètres. De nombreuses options permettent d'affiner le comportement souhaité (téléchargement multiple, suivre les liens...).

# Télécharge la page à la racine du site exemple.fr dans un ficher
# nommé "index.html".
wget http://www.exemple.fr/
# 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

Il est possible de télécharger automatiquement plusieurs URLs dans une hiérarchie de dossiers.

# 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/
# 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/
# Télécharge le contenu entier de exemple.fr
wget -r -l 0 http://www.exemple.fr/

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...).