405 lines
14 KiB
XML
405 lines
14 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!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="help">Aide rapide</a></h2>
|
||
|
||
<p>
|
||
Tout d'abord, il faut savoir que 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">clipper ~ $</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">clipper ~ $</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><a name="man">Pages de man</a></h2>
|
||
|
||
<p>
|
||
L'aide la plus précieuse, la plus complète et le 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.
|
||
</p>
|
||
|
||
<p>
|
||
Le principe est simple : pour lire l'aide correspondant à telle
|
||
commande ou concept, c'est <code>man commande</code>.</p>
|
||
|
||
<div class="ens">
|
||
À l'ENS, il existe la commande <code>fman</code> qui fonctionne
|
||
exactement comme la commande <code>man</code>, mais qui permet d'obtenir
|
||
de la documentation en français. Attention : la documentation
|
||
française est généralement en retard sur la documentation anglaise, donc
|
||
vous n'aurez pas toujours les pages les plus à jour...
|
||
</div>
|
||
|
||
<p>Ainsi, pour obtenir des renseignements sur la
|
||
commande <code>man</code> elle-même :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">clipper ~ $</span> man man
|
||
</pre>
|
||
|
||
<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.
|
||
</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
|
||
l'organisation du manuel pour Unix System V (variante d'Unix à
|
||
laquelle se rattache Solaris, le système des stations Sun).
|
||
</p>
|
||
|
||
<table class="tableau">
|
||
<tr>
|
||
<th></th><th colspan="2">Qu'est-ce que c'est ?</th>
|
||
</tr><tr>
|
||
<th>Section</th><th>Solaris (System V)</th><th>FreeBSD (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>
|
||
sous Solaris, 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">clipper ~ $</span> man 2 mkdir
|
||
</pre>
|
||
|
||
<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">clipper ~ $</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">clipper ~ $</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>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 inportante.
|
||
</p>
|
||
|
||
|
||
<p>
|
||
À l'ENS, le plus simple est d'utiliser le programme
|
||
<code>pinfo</code>, qui permet de naviguer dans les pages info. La
|
||
syntaxe est aussi simple que celle de <code>man</code> : <code>pinfo
|
||
<commande></code>. Par exemple, pour obtenir les pages info de
|
||
<code>pinfo</code> lui-même :
|
||
</p>
|
||
|
||
<pre>
|
||
<span class="prompt">clipper ~ $</span> pinfo pinfo
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
Sous KDE, vous pouvez aussi taper <code>info:<commande></code>
|
||
dans la barre d'adresse de Konqueror.
|
||
</p>
|
||
|
||
<div class="metainformation">Auteur : Marie-Lan Nguyen.
|
||
Dernière modification : le <date value="$Date: 2007-07-07 07:15:45 $" />.
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|