Read The Fucking ManualObjectifs de cet atelier pratique :

  • prise en main de la documentation en ligne
  • acquérir les réflexes de base pour trouver de l’aide

Unix est long et la vie est brève

Peut-être avez-vous déjà eu l’occasion de jeter un coup d’œil à un manuel de référence Unix : un de ces pavés indigestes comptant généralement un bon millier de pages, et qui vous présentent une myriade de commandes susceptibles d’accepter chacune une ribambelle d’options, égrenées par ordre alphabétique,

Même si vous ne connaissez que quelques commandes avec une poignée d’options, il arrive parfois que vous ne vous rappeliez plus la syntaxe exacte de ce que vous souhaitez taper. C’est même fréquent, aussi bien pour les débutants que les experts. Quelle était donc l’option pour la copie récursive d’un répertoire ? cp -r ou -R ? Et comment fallait-il s’y prendre pour voir les propriétés détaillées d’un répertoire sans en afficher le contenu ?

Sous Linux, notre premier réflexe consistera à chercher l’aide directement sur la machine.

Le bonheur est dans le PC

Tapez une commande, n’importe laquelle pourvu que son utilisation nécessite des arguments. Invoquez-la sans ces derniers. Par exemple :

$ cp
cp: missing file operand
Try 'cp --help' for more information.

Prenons notre machine au pied de la lettre et faisons exactement ce qu’elle nous suggère de faire :

$ cp --help

Aide en ligne

Le shell nous affiche une liste assez longue d’options applicables à la commande cp, ainsi qu’une série d’explications sur son fonctionnement.

Afficher le manuel en ligne : man

Les commandes Unix acceptent ainsi pour la plupart une option --help (parfois aussi tout simplement -h) affichant un écran d’aide succinct. En revanche, toutes les commandes (à très peu d’exceptions près) disposent d’un véritable manuel en ligne, que l’on peut afficher grâce à la commande man suivie du nom de la commande sur laquelle on souhaite se renseigner :

$ man cp

Manuel en ligne

L’affichage des pages de manuel s’effectue par le biais du visualiseur less et ce sont les raccourcis clavier de ce dernier qui vous aident à naviguer (Espace pour avancer d’un écran, Q pour quitter et FlècheHaut, FlècheBas, PageHaut et PageBas pour avancer et reculer).

InfoNotre installation minimale ne compte qu’un nombre réduit de pages man. Invoquez la commande sudo dnf install -y man-pages pour installer l’ensemble de la documentation en ligne sur votre système.

Comment lire une page man ?

Les pages de manuel en ligne (ou pages man) sont toutes plus ou moins organisées de la même façon.

  • Tout en haut de la page se trouve la commande, avec son numéro de chapitre, par exemple CP(1). Traditionnellement, les pages de manuel sont organisées en huit sections distinctes, que nous n’allons pas toutes énumérer ici. Retenez seulement que certaines commandes intéressent les utilisateurs du système, alors que d’autres seront réservées à l’administrateur. Pour comprendre cette distinction, affichez la page du manuel de cfdisk (man cfdisk), une commande qui sert à partitionner les disques durs. En haut de la page, CFDISK(8) vous indique qu’il s’agit d’une page de manuel de la section 8 et donc d’une commande réservée à l’administrateur du système. Les commandes des simples utilisateurs sont toutes regroupées dans la section 1. Certaines commandes disposent de leur page de manuel dans chaque section. Dans ce cas, il est nécessaire de spécifier le numéro de section pour les afficher séparément. À titre d’exemple, essayez successivement man 1 printf et man 3 printf.
  • L’en-tête intitulé NAME fournit une description succincte de la commande.
  • La section SYNOPSIS désigne la syntaxe de la commande, c’est-à-dire la façon dont il faut invoquer les options et les arguments. Ceux-ci peuvent être facultatifs ou obligatoires.
  • DESCRIPTION fournit une explication détaillée du fonctionnement de la commande.
  • La section OPTIONS affiche une liste exhaustive de toutes les options applicables à la commande, en les détaillant une par une. Pour comprendre de quoi il s’agit, affichez par exemple la page de manuel de la commande ls (man ls) et essayez de retrouver les options qui vous sont déjà familières.
  • Plus loin, la section BUGS est quelque chose que vous chercherez en vain chez un éditeur de logiciels propriétaires. Si la commande a pu présenter une quelconque anomalie ou un quelconque dysfonctionnement dans le passé, cette section vous en informe. Voyez par exemple la page de manuel du shell Bash (man bash) pour une telle section.
  • SEE ALSO vous renvoie d’une part vers une documentation plus détaillée (les pages info, que nous verrons tout à l’heure), d’autre part vers des commandes « cousines », c’est-à-dire en relation étroite. La page de manuel de fdisk vous renverra ainsi vers cfdisk, parted et sfdisk, trois autres commandes pour manipuler les tables de partitions sous Linux.
  • Les pages de manuel en ligne comportent également souvent une section AUTHORS avec des informations de contact sous forme d’adresse web ou de courrier électronique, ce qui permet de signaler d’éventuels bogues. Ne vous sentez pas trop concerné par ceci, du moins pas pour l’instant.

Recherche dans les pages du manuel

J’ai dit plus haut que les pages du manuel en ligne s’affichaient par le biais du visualiseur less. Cela signifie que nous pouvons également nous servir des fonctions de recherche intégrées dans less. Pour essayer ceci, cherchons par exemple toutes les occurrences du mot « modification » dans la page de manuel de ls. Une fois que la page s’affiche, invoquez la fonctionnalité de recherche grâce à la barre oblique / suivie de la chaîne de caractères modification que vous souhaitez trouver dans le texte.

Aide en ligne - recherche

Certaines pages de manuel sont assez longues, et la fonction de recherche s’avérera utile pour trouver rapidement l’information qu’il vous faut.

Afficher le manuel en ligne : info

Dans certains cas, les renseignements fournis par la commande man s’avèrent insuffisants. Essayez par exemple d’obtenir des informations sur l’interpréteur de commandes Bash en tapant man bash. Vous obtenez alors une série de pages pour le moins cryptiques, qui ne vous sembleront probablement pas très parlantes.

Voici comment afficher un manuel bien plus complet :

$ info bash

Page info

À la différence d’une simple page man, vous disposez ici d’un curseur. Celui-ci vous permet de naviguer de page en page, en suivant les liens. Une page info est en fait une véritable arborescence de pages organisées de façon hiérarchique. Pour naviguer dans cette arborescence, il suffit de placer le curseur sur les bouts de texte compris entre une étoile * et un deux-points :. La touche Entrée vous conduit alors dans le nœud (Node) correspondant. Pour revenir en arrière, utilisez la touche U (comme up, c’est-à-dire « remonter »). Là aussi, servez-vous du raccourci Q pour quitter la page info.

Naviguer dans info

L’organisation d’une page info est comparable au fonctionnement d’un site web. Les pages y sont organisées hiérarchiquement, le passage d’une page à l’autre se faisant par le biais d’hyperliens. Le bouton Page précédente du navigateur ramène en arrière.

À en juger par les commentaires des utilisateurs chevronnés de systèmes Unix dans les forums ou les listes de diffusion, les pages info ont moins bonne presse que les pages man, en raison de leur système de navigation quelque peu désuet et, surtout, de l’impossibilité de les mettre en forme, notamment pour en imprimer un extrait ou la totalité.

S’il ne fallait retenir que cela

Votre mémoire est une véritable passoire et vous oubliez sans cesse les commandes les plus basiques, au point de vous retrouver incapable d’utiliser l’aide en ligne ? Ce n’est pas bien grave. Retenez juste ceci :

$ man man

La même chose vaut pour l’utilisation des pages info :

$ info info

Bien évidemment, il existe de nombreuses façons d’obtenir de l’aide pour votre système Linux :

  • les sites de documentation
  • les blogs
  • les forums
  • les listes de diffusion
  • les newsgroups (ou groupes de discussion Usenet)
  • les canaux IRC spécialisés
  • la documentation spécifique à chaque distribution

Dans le monde Linux, ce n’est certainement pas la documentation qui fait défaut, mais il est parfois difficile de s’y retrouver. Pour l’instant, n’oubliez pas que l’aide la plus immédiate lorsque vous utilisez la ligne de commande se trouve à portée de doigts.

Pour aller plus loin

La meilleure adresse pour trouver de l’aide avec un système Rocky Linux est sans doute le forum anglophone du projet. Vous y trouverez une communauté sympathique d’administrateurs système, de développeurs et autres professionnels compétents, qui apporteront des réponses aux questions les plus pointues que vous pourrez leur poser. Je suis moi-même un utilisateur régulier de ce forum.

 

Lire la suite : Gérer les utilisateurs


La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : Formation

1 commentaire

tTh · 2 septembre 2022 à 11 h 17 min

Il existe aussi le trop méconnu « pinfo » qui permet de lire à la fois les manpages et les infopages, avec dans les deux cas, une navigation aisée, un peu comme lynx.

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *