470 lines
16 KiB
XML
470 lines
16 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||
"tuteurs://DTD/tml.dtd">
|
||
<html>
|
||
<head>
|
||
<title>Aide</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>Aide en ligne</h1>
|
||
|
||
<p>
|
||
<a href="unix-technique.html">Unix</a> est un système d'exploitation
|
||
complexe. Il existe des centaines de commandes, la plupart avec des
|
||
options. Comment vous débrouiller, apprendre à utiliser une commande,
|
||
savoir quelle commande utiliser pour faire telle chose ? Heureusement,
|
||
Unix dispose aussi d'une aide abondante et très utile.
|
||
</p>
|
||
|
||
<h2><a name="man">Pages de man</a></h2>
|
||
|
||
<p>
|
||
L'aide la plus précieuse, la plus complète et la plus importante,
|
||
c'est le manuel. Comme un livre, il est divisé en pages, chaque page
|
||
correspondant à une commande ou à un concept précis. C'est pour cette
|
||
raison qu'on parle de <dfn>pages de man</dfn>. Les pages de manuel se
|
||
présentent comme un fichier texte : pas de liens, pas d'images, on ne
|
||
peut pas cliquer. Il y a seulement un peu de mise en page. Bref, c'est
|
||
plutôt austère ! C'est que les pages de man ne sont pas des tutoriels,
|
||
mais des références. Souvent cependant, s'il existe un manuel plus
|
||
complet, la fin de la page de man indique où le trouver.
|
||
</p>
|
||
|
||
<p>
|
||
Le principe est simple : pour lire l'aide correspondant à telle
|
||
commande ou concept, c'est <code>man commande</code>.</p>
|
||
|
||
|
||
<p>Ainsi, pour obtenir des renseignements sur la
|
||
commande <code>man</code> elle-même :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> man man
|
||
</pre>
|
||
|
||
<p class="continue">(Sous KDE, vous pouvez aussi taper
|
||
<code>man:commande</code> dans la barre d'adresse de Konqueror, par
|
||
exemple <code>man:man</code>.)</p>
|
||
|
||
<p class="continue">
|
||
Vous verrez alors apparaître ceci :
|
||
</p>
|
||
|
||
<pre>
|
||
User Commands man(1)
|
||
|
||
|
||
|
||
NAME
|
||
man - format and display the on-line manual pages
|
||
manpath - determine user's search path for man pages
|
||
|
||
SYNOPSIS
|
||
man [-acdfhkKtwW] [-m system] [-p string] [-C config_file]
|
||
[-M path] [-P pager] [-S section_list] [section] name ...
|
||
|
||
DESCRIPTION
|
||
man formats and displays the on-line manual pages. This
|
||
version knows about the MANPATH and (MAN)PAGER environment
|
||
variables, so you can have your own set(s) of personal man
|
||
(...)
|
||
</pre>
|
||
|
||
<p>
|
||
Comme vous pouvez le voir, c'est en anglais. Comme dans beaucoup
|
||
d'autres domaines, l'anglais est la langue standard en
|
||
informatique. Les documentations Unix sont écrites d'abord en anglais,
|
||
et éventuellement traduites. Ne partez pas en courant, l'anglais
|
||
technique est quand même moins difficile à comprendre que du
|
||
Shakespeare. Sauf si vous êtes beaucoup plus à l'aise en français,
|
||
préférez les versions anglaises des documentations : elles sont souvent
|
||
plus à jour, et il y a parfois des erreurs de traduction.
|
||
</p>
|
||
|
||
<h3>Structure d'une page de man</h3>
|
||
|
||
<p>
|
||
Chaque page de man a la même structure. Une fois que vous vous êtes
|
||
familiarisé avec celle-ci, vous savez rapidement à chercher
|
||
l'information. Voici une description des principales rubriques qu'on
|
||
peut trouver :
|
||
</p>
|
||
|
||
<ul>
|
||
|
||
<li> sur la première ligne, à droite (<code>man(1)</code> dans
|
||
l'exemple ci-dessus), vous est indiquée la <a href="#section">section du
|
||
manuel</a> où se trouve la page de man demandée.</li>
|
||
|
||
<li> NAME : le nom de la commande, tout simplement, assorti d'un bref
|
||
résumé de ce que fait la commande.</li>
|
||
|
||
<li> SYNOPSIS : c'est la syntaxe de la commande. Après celle-ci
|
||
figurent les <dfn>arguments</dfn>, qui modifient le comportement de la
|
||
commande quand on les indique. Les arguments figurant entre crochets
|
||
sont des arguments optionnels, parmi ceux-ci, ceux qui commencent par
|
||
<code>-</code> sont des options.</li>
|
||
|
||
<li> DESCRIPTION : le cœur de la page de man. Cette rubrique
|
||
vous indique plus précisément ce que fait la commande.</li>
|
||
|
||
<li> OPTIONS : description détaillée de chaque option. Cette rubrique
|
||
peut être assez longue, voyez par exemple la page de man de
|
||
<code>less</code> !</li>
|
||
|
||
<li> EXAMPLES : exemples pratiques d'utilisation.</li>
|
||
|
||
<li> SEE ALSO : ce sont des renvois vers d'autres pages de man qui
|
||
sont liées.</li>
|
||
|
||
</ul>
|
||
|
||
<h3>Se déplacer dans une page de man</h3>
|
||
|
||
<p>
|
||
Une fois la page de man lancée, vous pouvez parcourir la page en
|
||
utilisant les mêmes commandes que le <i lang="en">pager</i>
|
||
<code>less</code>, car la commande <code>man</code> utilise
|
||
précisément <code>less</code>.
|
||
</p>
|
||
|
||
<div class="encadre">
|
||
<strong>Définition</strong> : <dfn lang="en">pager</dfn> (ou
|
||
« visionneuse » en français). Il s'agit d'un programme qui permet de
|
||
parcourir un fichier texte. Par défaut, il s'agit de
|
||
<code>less</code>, qui permet de faire des recherches dans le texte;
|
||
de revenir en arrière, et surtout, qui affiche le texte par écrans de
|
||
25 lignes, permettant ainsi de lire à sa vitesse avant de passer à la
|
||
suite. Faites <code>man less</code> pour en savoir plus !
|
||
</div>
|
||
|
||
<p>
|
||
Il existe beaucoup de commandes différentes pour se déplacer dans une
|
||
page de man, voici les plus importantes :
|
||
</p>
|
||
|
||
<table class="tableau">
|
||
<tr>
|
||
<th>Action</th><th>Résultat</th>
|
||
</tr><tr>
|
||
<td>barre d'espace</td><td>Passage à l'écran suivant</td>
|
||
</tr><tr>
|
||
<td>flèche haut</td><td>Revenir en arrière dans le fichier</td>
|
||
</tr><tr>
|
||
<td>/tagada ENTER</td><td>Chercher la suite de caractère « tagada »
|
||
dans la suite de la page</td>
|
||
</tr><tr>
|
||
<td>?tagada ENTER</td><td>Chercher la suite de caractère « tagada »
|
||
plus haut dans la page</td>
|
||
</tr><tr>
|
||
<td>g</td><td>Retourner au tout début de la page</td>
|
||
</tr><tr>
|
||
<td>G</td><td>Aller à la fin de la page</td>
|
||
</tr><tr>
|
||
<td>h</td><td>Affiche un résumé des commandes de
|
||
<code>less</code></td>
|
||
</tr><tr>
|
||
<td>q</td><td>Quitte la lecture du manuel</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<h3><a name="section">Sections du manuel</a></h3>
|
||
|
||
<p>
|
||
Comme nous vous l'avons dit, le manuel est divisé en grandes sections,
|
||
tout comme un livre peut être divisé en chapitres. Voici (les ?) deux
|
||
organisations habituelles. Les PC sous Ubuntu se conforment plutôt à la
|
||
deuxième.
|
||
</p>
|
||
|
||
<table class="tableau">
|
||
<tr>
|
||
<th></th><th colspan="2">Qu'est-ce que c'est ?</th>
|
||
</tr><tr>
|
||
<th>Section</th><th>System V</th><th>BSD</th>
|
||
</tr><tr>
|
||
<td>1</td><td>Commandes utilisateur</td><td>Idem</td>
|
||
</tr><tr>
|
||
<td>2</td><td>Appels systèmes</td><td>Idem</td>
|
||
</tr><tr>
|
||
<td>3</td><td>Bibliothèques</td><td>Idem</td>
|
||
</tr><tr>
|
||
<td>4</td><td>Fichiers de configuration et
|
||
d'administration</td><td>Points d'entrées du noyau, pilotes</td>
|
||
</tr><tr>
|
||
<td>5</td><td>Divers</td><td>Fichiers de configuration</td>
|
||
</tr><tr>
|
||
<td>6</td><td>Jeux</td><td>Idem</td>
|
||
</tr><tr>
|
||
<td>7</td><td>Entrées-sorties, fichiers spéciaux</td><td>Standards</td>
|
||
</tr><tr>
|
||
<td>8</td><td>Commandes d'administration</td><td>Idem</td>
|
||
</tr><tr>
|
||
<td>9</td><td>_</td><td>Fonctions présentes dans le noyau</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p>
|
||
Il arrive qu'une même commande ait plusieurs pages de man dans des
|
||
sections différentes. C'est par exemple le cas de <code>mkdir</code>,
|
||
qui a une page dans la section 1 (commandes utilisateurs) et 2 (appels
|
||
systèmes). Par défaut, <code>man
|
||
mkdir</code> renvoie à la section 1 (la page dans la section 2 est
|
||
mentionnée dans le SEE ALSO). Pour demander explicitement la page de
|
||
la section 2 :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> man 2 mkdir
|
||
</pre>
|
||
|
||
<div class="ens">
|
||
<p>
|
||
Il existe également des sections spécifiques à l'ENS : la section I,
|
||
qui contient des informations pas nécessairement à jour sur l'École
|
||
et la section 42 qui contient des informations peut-être un peu plus
|
||
à jour sur l'École. (Il existe également une section A comprenant
|
||
quatre pages traitant de mathématiques.)
|
||
</p>
|
||
<p>
|
||
Pour un point de départ, essayez <code>man I intro</code> ou
|
||
<code>man 42 intro</code>.
|
||
</p>
|
||
</div>
|
||
|
||
<h3><a name="apropos">Chercher la bonne page de man :
|
||
<code>apropos</code></a></h3>
|
||
|
||
<p>
|
||
Le problème, c'est que vous, vous ne savez même pas quelle est la
|
||
bonne commande à utiliser. Tout ce que vous savez, c'est que vous
|
||
voulez créer un fichier MP3 à partir de l'un de vos CD. Pour cela, on
|
||
peut utiliser la commande <code>apropos</code>. Cette commande fait
|
||
des recherches dans une base de données contenant le nom des
|
||
commandes, et leur description. Syntaxe de la commande : <code>apropos
|
||
<mot clef></code>. Attention, le mot clef doit être en
|
||
anglais. Exemple d'utilisation :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> apropos MP3
|
||
lame lame (1) - create mp3 audio files
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Voici la réponse : il faut utiliser la commande <code>lame</code>, qui
|
||
« crée des fichiers audio mp3 ». Pour savoir comment l'utiliser,
|
||
consultez sa page de man, qui se trouve dans la section 1 du
|
||
manuel. Ça n'est pas toujours aussi simple : <code>apropos</code> peut
|
||
vous donner de longues réponses. Utilisez alors le pipe (|), qui
|
||
connecte la sortie standard d'une commande (c'est-à-dire le résultat
|
||
visible de cette commande) sur l'entrée standard d'une autre
|
||
commande. Dans notre cas, cela signifie que les lignes produites par
|
||
<code>apropos</code> pourront être lues ensuite avec
|
||
<code>less</code>, comme un fichier.
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> apropos editor | less
|
||
Curses::UI::TextEditor Curses (3) - Create and manipulate texteditor widgets
|
||
FvwmConsoleC.pl FvwmConsoleC.pl (1) - Command editor for FVWM command in put interface
|
||
Tk::ColorEditor Tk (3) - a general purpose Tk widget Color Editor
|
||
aa_createedit aa_createedit (3) - Simple interactive line editor provided as helper function.
|
||
aa_edit aa_edit (3) - Simple interactive line editor.
|
||
aa_editkey aa_editkey (3) - Notify the line editor about keypress.
|
||
cooledit cooledit-3.17.5 (1) - Full featured text editor for the X Window System, Version 11.
|
||
dotty dotty (1) - A Customizable Graph Editor
|
||
ed ed (1) - text editor
|
||
ex vim (1) - Vi IMproved, a programmers text editor
|
||
ile ile (1) - An input line editor for UNIX (Input Line Editor)
|
||
ile-2.7 ile (1) - An input line editor for UNIX (Input Line Editor)
|
||
(...)
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Là, il y a à boire et à manger... Il faut regarder dans <a
|
||
href="#section">quelle section</a> se trouve chacune des propositions
|
||
pour faire la différence entre commandes que vous pouvez utiliser
|
||
(section 1) et autres.
|
||
</p>
|
||
|
||
<div class="encadre">
|
||
<strong>À noter</strong> : sur certains systèmes Unix, la commande
|
||
<code>apropos</code> n'existe pas. Vous pouvez faire la même chose
|
||
grâce à l'option <code>-k</code> de <code>man</code> : <code>man -k
|
||
<mot clef></code>.
|
||
</div>
|
||
|
||
|
||
<h2><a name="help">Aide rapide</a></h2>
|
||
|
||
<p>
|
||
Très souvent, les commandes ont un petit fichier d'aide rudimentaire,
|
||
qui vous renseignera sur la syntaxe de la commande (pour savoir ce que
|
||
fait exactement la commande, ou pour compléter, c'est le rôle des <a
|
||
href="#man">pages de man</a>). Il y a plusieurs manières d'obtenir
|
||
cette aide rudimentaire :
|
||
</p>
|
||
|
||
<h3>Options <code>-h</code>, <code>-?</code> et <code>--help</code></h3>
|
||
|
||
<p>C'est un moyen simple pour obtenir un peu d'aide sur une
|
||
commande. Exemple :</p>
|
||
|
||
<pre>
|
||
<span class="prompt">earendil ~ $</span> mkdir --help
|
||
usage: mkdir [-pv] [-m mode] directory ...
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Ici, on vous indique que la commande <code>mkdir</code> admet les
|
||
options <code>-p</code>, <code>-v</code>, <code>-m
|
||
<mode></code>, et que sinon c'est <code>mkdir <nom du
|
||
fichier></code>.
|
||
</p>
|
||
|
||
<p>
|
||
Attention, d'une part la syntaxe varie : une commande peut comprendre
|
||
<code>-h</code> mais pas <code>--help</code> et <code>-?</code>, ou
|
||
inversement. Ensuite, ça ne marche pas toujours. Ainsi, si vous
|
||
essayez de demander de l'aide à la commande <code>df</code> (affiche
|
||
l'<a href="&url.tuteurs;unix/place_disque.html">espace disque</a>
|
||
disponible) :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> df -h
|
||
Filesystem Size Used Avail Use% Mounted on
|
||
/dev/dsk/c0t0d0s0 189M 92M 79M 54% /
|
||
/dev/dsk/c0t0d0s4 754M 595M 106M 85% /usr
|
||
/dev/dsk/c0t8d0s5 995M 467M 469M 50% /var
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Pour <code>df</code>, l'option <code>-h</code> veut dire tout autre
|
||
chose...
|
||
</p>
|
||
|
||
<h3>L'option fantaisiste</h3>
|
||
|
||
<p>
|
||
Cette astuce consiste à donner une option complètement fantaisiste à
|
||
la commande. Celle-ci va réagir en disant que ce n'est pas comme ça
|
||
qu'on fait, et vous indiquera brièvement quelles sont les syntaxes
|
||
correctes possibles. Exemple :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> cal -xyz
|
||
cal: illegal option -- x
|
||
usage: cal [ [month] year ]
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
On utilise une option <code>-xyz</code> pour être sûr que ce n'est pas
|
||
une option existante. Ça marche : <a
|
||
href="divers.html"><code>cal</code></a> (petit programme qui affiche
|
||
le calendrier du mois) se plaint que cette syntaxe n'existe pas, et
|
||
vous indique ce qui est possible.
|
||
</p>
|
||
|
||
<h2>Manuels intégrés aux logiciels</h2>
|
||
|
||
<p>De même (ou plutôt, en plus), les programmes avec une interface
|
||
graphique ou semi-graphique ont souvent une commande qui donne accès à
|
||
leur manuel. Par exemple, le lecteur de courrier électronique <code>mutt</code>
|
||
dispose d'une liste de commande accessible en appuyant sur
|
||
<code>?</code>. Les programmes faisant partie de KDE ont
|
||
presque toujours un menu Aide (ou Help) complètement à droite de leur
|
||
barre de menu, malheureusement, ce manuel lest souvent incomplet ou peu
|
||
à jour. Toujours sous KDE, avec certains logiciels, on peut afficher une
|
||
bulle d'aide détaillée sur un élément de l'interface en cliquant sur le
|
||
point d'interrogation en haut à droite de la fenêtre, puis sur l'élément
|
||
en question.</p>
|
||
|
||
<h2>Pages info</h2>
|
||
|
||
<p>
|
||
Les pages info sont de l'aide en ligne, tout comme les pages de
|
||
man. Le format info est une particularité des programmes écrits par le
|
||
<a href="http://www.gnu.org/" title="Page du Projet GNU">Projet
|
||
GNU</a>, une communauté de développeurs qui est l'auteur d'une grande
|
||
quantité d'utilitaires et de programmes. Par exemple, la documentation
|
||
d'<a href="&url.tuteurs;unix/editeurs/emacs.html">Emacs</a> (un <a
|
||
href="&url.tuteurs;unix/editeurs/">éditeur de texte</a>) ou encore
|
||
celle de <a href="&url.tuteurs;unix/archives.html#tar">tar</a> (un
|
||
archiveur), est au format info.
|
||
</p>
|
||
|
||
<p>
|
||
Les pages info remplissent les mêmes fonctions que les pages de man,
|
||
mais la navigation est plus compliquée : c'est dû à l'organisation
|
||
hiérarchique des pages info, avec des branches, des sous-branches,
|
||
etc. Ce fonctionnement convient bien à de gros projets comme Emacs,
|
||
mais peut sembler plus lourd pour des programmes avec une
|
||
documentation moins importante.
|
||
</p>
|
||
|
||
|
||
<p>
|
||
Sur les machines sur lesquelles il est installé, le plus
|
||
simple est d'utiliser le programme <code>info</code>, qui permet de
|
||
naviguer dans les pages info. La syntaxe est aussi simple que celle de
|
||
<code>man</code> : <code>info <commande></code>. Par exemple,
|
||
pour obtenir les pages info d'<code>info</code> lui-même :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">sas ~ $</span> info info
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Sous KDE, vous pouvez aussi taper <code>info:<commande></code>
|
||
dans la barre d'adresse de Konqueror.
|
||
</p>
|
||
|
||
<h2>(La)TeX</h2>
|
||
|
||
<p>
|
||
Les programmes liés à TeX et les packages LaTeX viennent souvent avec
|
||
des documentations très complètes, mais elle est sous forme de fichiers
|
||
pdf ou texte brut (ou d'autres formats variés), et n'est pas toujours
|
||
facile à trouver au premier abord. Heureusement, la commande
|
||
<code>texdoc</code> permet souvent de trouver instanément le bon
|
||
document. Par exemple, pour obtenir l'aide du package LaTeX
|
||
<code>multicol</code>, il suffit de faire
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">trimaran ~ $</span> texdoc multicol
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Le programme <code>texdoctk</code> affiche un petit index de cette
|
||
documentation.
|
||
</p>
|
||
|
||
<h2>Le reste&thsp;: <code>/usr/share/doc/</code></h2>
|
||
|
||
<p>
|
||
Parfois, un programme vient avec un manuel, des fichiers d'exemples, ou
|
||
une autre sorte de documentation qui ne rentre pas dans les sources de
|
||
documentation standard décrites ci-dessus. (Il peut y avoir les deux :
|
||
ainsi, beaucoup de logiciels ont une page de man minimaliste qui renvoie
|
||
à un manuel complet au format HTML ou PDF.) Cette documentation « non
|
||
standard » se trouve habituellement dans les répertoires
|
||
<code>/usr/share/doc/<em>nom du programme</em>/</code>
|
||
ou encore
|
||
<code>/usr/share/doc/<em>nom du programme</em>-doc/</code>.
|
||
Pensez à regarder !
|
||
</p>
|
||
|
||
<div class="metainformation">Auteur : Marie-Lan Nguyen, Marc Mezzarobba.
|
||
<date value="from git" />
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|