Man page/Naviguer
Ce guide explique comment naviguer dans les pages de manuel en utilisant la commande man.
Introduction
Le programme man
Chacun, à un certain stade de sa vie avec Linux l'a utilisée : la commande man. Néanmoins, bien que le programme man lui-même soit assez simple dans sa structure, il dispose de quelques fonctionnalités autres que celle de simplement faire défiler une page. Ce document espère apporter un peu de lumière sur ces fonctionnalités.
Arrangement de Man
Les pages de manuel sont stockées principalement dans le répertoire /usr/share/man. Cependant, tant que lemplacement d'une page de manuel est listé dans la variable d'environnement MANPATH, man est capable de la retrouver. Gentoo stocke généralement les variables MANPATH dans /etc/env.d. Dans ces répertoires, il existe quelques dossiers intitulés manX, ou X est le numéro de section. Par exemple, un arrangement standard de man ressemble à ceci :
user $
ls /usr/share/man | grep man
man0p man1 man1p man2 man3 man3p man4 man5 man6 man7 man8 man9 mann
La numérotation réelle des sections semble être tout à fait standard. Néanmoins, notez qu'il y a un dossier mann et quelques dossiers man#p. La table suivante présente les répertoires de pages de manuel ci-dessus et ce qu'ils contiennent :
Répertoire Man | Description |
---|---|
man0p | Le "p" ici signifie POSIX, tout comme pour les répertoires qui contiennent p dans leur nom. Les pages de manuel dans ce répertoire décrivent la fonction de différents fichiers d'entête POSIX. |
man1 | Cette section est réservée aux commandes standards. La plupart des programmes placent leurs pages de manuel ici ; c'est pourquoi cette section a tendance à être la plus volumineuse. |
man1p | Cette section décrit la version POSIX de la commande décrite en 1p. Comme elle se contente de décrire les commandes de base, elle est beaucoup plus petite que man1. |
man2 | Cette section décrit les appels système au noyau Linux. |
man3 | Cette section décrit les fonctions de la bibliothèque C standard. |
man4 | Cette section décrit les périphériques spéciaux. Ces périphériques son généralement orientés noyau, mais Xorg-X11 y a aussi des entrées. |
man5 | Cette section décrit, à la fois, la constitution de certains fichiers et quels fichiers un programme utilise. Il se peut que ceux d'entre-vous qui lisent ce document soient familiers avec les références à man 5 portage pour une description de la structure du fichier de Portage, et à man 5 make.conf pour la constitution de make.conf. |
man6 | Cette section introduit les jeux et autres amusements. |
man7 | Cette sections décrit des items standards et d'autres très variés. Ces items standards comprennent les jeux de caractères, les instructions SQL, les normes ISO et les expressions régulières. |
man8 | Cette section décrit les commandes administratives (celles que l'administrateur utilise couramment). |
man9 | Cette section est assez peu fournie, mais elle est prévue pour accueillir la documentation sur les différents parties du noyau. |
mann | Cette section est principalement utilisée par dev-lang/tcl ou dev-lang/tk. Le "n" signifie nouveau. |
Bien que cela ne soit pas une liste détaillée et exhaustive, elle couvre les pages de manuel qui intéressent la plupart des gens. Cependant, dans certains cas, vous pouvez savoir ce qu'une section présente aussi aisément que de consulter cette table. Le prochain chapitre vous montrera comment parcourir cet arrangement.
Travailler avec l'arrangement des pages de manuel
Feuilleter les pages de manuel
Maintenant que vous avez une idée claire de l'arrangement des pages de manuel, vous pouvez commencer à rechercher des commandes. Parfois, il nous faut affiner progressivement notre recherche. Le premier pas consiste à s'intéresser aux sections. Pour trouver la description d'une section, on peut utiliser man <section> intro, comme ceci :
user $
man 3 intro
Malheureusement, cela ne marche pas toujours ! Cependant, heureusement pour nous, il y a une autre façon de rechercher des commandes qui peut retourner des résultats multiples (comme un appel à une bibliothèque et une commande système qui ont le même nom). Pour ce faire, nous utilisons l'option -K
de la commande man de cette manière :
user $
man -K sleep
Parfois la sortie peut prendre pas mal de place. Dans ce cas, il peut être préférable de spécifier plus de mots clé. Maintenant que nous savons où trouver la page de manuel, la section suivante va vous montrer comment la visualiser.
Visualiser les pages de manuel
Visualiser les pages de manuel peut être accompli de deux manières. En premier lieu avec la commande man [nom de la page man]
. La deuxième manière utilise man <section> [nom de la page man]
. Considérons sys-devel/bc par exemple. Nous pouvons voir, soit la première page de manuel qui apparaît avec bc (qui devrait être la section 1, parce que c'est la section de numéro le plus faible contenant une page de manuel sur bc) :
user $
man bc
Cependant, comment faire pour avoir la version POSIX ? Dans ce cas nous utilisons la deuxième forme :
user $
man 1p bc
BC(P) POSIX Programmer's Manual BC(P) NAME bc - arbitrary-precision arithmetic language ...
Et la page de manuel est affichée. Maintenant que nous savons afficher une page de manuel, il est temps de l'utiliser. La section suivante vous montre comment naviguer et rechercher.
Naviguer dans une page de manuel est très facile. Utilisez les touches fléchées ↑ et ↓ pour vous déplacer d'une ligne vers le haut ou vers le bas. Utilisez les touches Page up et Page down pour aller de page en page, respectivement vers le haut et vers le bas. Notez néanmoins que ces instructions de navigation supposent que la variable d'environnement PAGER est définie pour utiliser l'outil de pagination par défaut, à savoir less. less comprend aussi quelques autres commandes de navigation, mais les touches fléchées suffisent généralement :
<nowiki>
e ^E j ^N CR * Avancer d'une ligne (ou N lignes).
y ^Y k ^K ^P * Reculer d'une ligne (ou N lignes).
f ^F ^V SPACE * Avancer d'une fenêtre (or N lignes).
b ^B ESC-v * Reculer d'une fenêtre(or N lignes).
z * Avancer d'une fenêtre (et définir window à N).
w * Reculer d'une fenêtre (et définir window à N).
ESC-SPACE * Avancer d'une fenêtre, mais ne pas s'arrêter sur une fin de fichier.
d ^D * Avancer d'une demi-fenêtre (et définir half-window à N).
u ^U * vancer d'une demi-fenêtre (et définir half-window à N)..
ESC-) Flèche à droite * se décaler à droite d'un demi-écran (ou de N positions).
ESC-( Flèches à gauche * se décaler à gauche d'un demi-écran (ou de N positions).
F Avancer tout le temps ; comme "tail -f".
La recherche, pour sa part, est plus intéressante. Les deux commandes de recherche de base sont /pattern
et ?pattern
. La première version cherche en avant, la seconde en arrière. pattern
est une expression régulière qui est décrite dans man 7 regex. Prenons l'exemple de la recherche de l'option -D
de la commande emerge. Tout d'abord appelons la page emerge :
user $
man emerge
Ensuite, appuyons sur la touche / pour faire apparaître l'invite de commande pour rechercher en avant et saisissons l'expression régulière à rechercher :
gracefully handles updating installed packages to newer releases as well.
It handles both source and binary packages, and it can be used to create
binary packages for distribution.
EBUILDS, TBZ2S, CLASSES AND DEPENDENCIES
/\-D
Le
\
sert à échapper le signe -
, qui devrait être utilisé en tant que partie de l'expression régulière.Ceci recherchera la page de manuel et se focalisera sur l'item recherché :
--deep (-D)
When used in conjunction with --update, this flag forces emerge to consider the entire
dependency tree of packages, instead of checking only the immediate dependencies of
the packages. As an example, this catches updates in libraries that are not directly
listed in the dependencies of a package.
Si vous atteignez un résultat de recherche par accident et que vous voulez continuer à chercher parmi les mêmes résultats, appuyez simplement sur la touche /, puis faites Entrée (c.à.d. ne saisissez pas d'expression régulière). Ceci fera repartir la recherche avec la dernière expression régulière utilisée. Maintenant, dans quelques pages, les options sont listées, puis expliqués plus loin dans le texte. Prenez man 5 portage. Elle liste les fichiers utilisés, puis explique comment les utiliser. Une recherche en avant répétée quelques fois devrait retourner les résultats, mais il y a une manière plus facile d'appréhender cela ; elle consiste à utiliser la deuxième forme, la recherche en arrière.Essayons de l'utiliser pour trouver la description de package.unmask. Tout d'abord, appelons man 5 portage :
user $
man 5 portage
Maintenant, appuyez sur Shift+g. Cela vous amènera en fin de page :
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
lines 418-442/442 (END)
Avançons maintenant en entrant l'expression régulière à chercher avec l'option ?pattern
de recherche en arrière. Tout d'abord appuyons sur la touche ? pour faire apparaître l'invite de commande et saisissons l'objet de notre recherche dans package.unmask :
SEE ALSO
emerge(1), ebuild(1), ebuild(5), make.conf(5)
Portage 2.0.51 Jan 2004 PORTAGE(5)
?package.unmask
Faites Entrée pour afficher le résultat :
package.unmask
Just like package.mask above, except here you list packages you want to unmask.
Useful for overriding the global package.mask file (see below). Note that
this does not override packages that are masked via KEYWORDS.
...
La recherche est terminée ! Notez que, tout comme avec /
, utiliser ?
sans expression régulière revient à rechercher avec la dernière expression régulière utilisée.
Conclusion
Ceci conclut le guide sur man. Nous espérons avoir apporter un peu de clarté sur la navigation dans les pages, et peut-être même, avoir apporté de nouvelles astuces à des utilisateurs plus expérimentés. Pour ceux qui préfèrent un moyen alternatif pour naviguer dans les pages de manuel, les moyens suivants sont aussi disponibles :
- sys-apps/man2html - Un programme de conversion des pages de manuel en HTML.
- app-text/tkman - Un navigateur de pages de manuel basé sur tk.
Le navigateur KDE kde-apps/konqueror peut aussi vous permettre de naviguer dans les pages de manuel en utilisant la syntaxe man:
dans la barre d'adresse.
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Chris White
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.