Les arguments attendus par les commandes du shell et les fonctionnalités fournies sont trop diversifiés pour être retenus par l’utilisateur ou réunis dans un manuel unique. Par conséquent, la documentation est fournie:
Lorsque vous n’êtes pas sûr du nom de la commande à utiliser pour accomplir une action, le système propose également des outils pour vous aider à trouver la commande adéquate.
La plupart des commandes disposent d’une aide interne. Lorsque l’utilisateur saisit de mauvais arguments, la commande affiche l'aide.
Les options -h ou --help permettent également d'afficher l'aide interne de la commande.
La documentation est alors directement affichée dans le terminal. Il n’est pas aisé de naviguer entre les différentes parties ou même de rechercher du texte à l’intérieur. De plus, l’aide affichée est souvent en anglais et ce même si le système d’exploitation a été installé avec un autre langage.
Les systèmes de type Unix disposent d’un outil de visualisation des manuels appelé man1). Lorsque l’on cherche à accéder à la documentation d’une commande, il suffit d’appeler man avec en argument le nom de la commande dont on cherche le manuel.
La commande man interprète des fichiers de documentation 1 puis les affiche via le lecteur de fichier less permettant notamment de faire défiler le texte par page d’écran et de faire des recherches de motifs.
Si votre système d’exploitation est configuré en français, le manuel sera présenté en français s’il existe. Si vous êtes sur un système configuré en anglais et que vous voulez néanmoins accéder à l’aide en français, vous pouvez utiliser l’option -L fr.
Le manuel ne se limite pas à la description des commandes, il comprend de la documentation sur les fonctions, des formats de fichiers ou encore des périphériques. Par conséquent, les pages du manuel sont regroupées en plusieurs sections :
Cette distinction a été faite pour éviter les ambiguïtés. En effet un même nom peut faire référence à une fonction d’une bibliothèque ou à une commande. C’est par exemple le cas de printf.
On peut définir dans quelle section on souhaite effectuer une recherche en la spécifiant un premier argument:
man 1 read Aucune entrée de manuel pour read en section 1
On peut définir une liste de sections dans laquelle on souhaite lancer la recherche:
man -S 1,2,8,9 read
Une page de manuel contient plusieurs parties/:
La partie synopsis propose un résumé du format de la commande. Il utilise les conventions suivantes:
texte gras | à taper exactement comme indiqué |
---|---|
texte italique | à remplacer par l’argument approprié |
[-abc] | tous les arguments entre [ ] sont facultatifs |
-a|-b | les options séparées par | ne peuvent pas être utilisées simultanément |
argument … | les trois petits points signifient que l’argument peut être répété |
[expression] … | les trois petits points signifient que toute l’expression située à l’intérieur de [ ] peut être répétée (en plus d’être facultative). |
man est l’outil le plus utilisé pour trouver de l’aide mais ce n’est pas le seul. Des outils tels que info ou help proposent également de la documentation sur certaines commandes. Ils n’ont pas rencontré le même succès que man mais perdurent encore dans certaines distributions Linux.
help est une commande builtin du shell permettant d'afficher de l'aide concernant sa propre syntaxe et les commandes builtin.
Historiquement, l’utilitaire info était un concurrent de man. La documentation des commandes était rédigée via le format texinfo et visualisée via le mode info de l’éditeur de texte Emacs. Texinfo est resté le format de documentation officiel du projet GNU. L’outil info permet d’accéder à la documentation des commandes et bibliothèques GNU (y compris le Bash) ainsi qu’aux pages du man. Son principal avantage réside dans la possibilité de naviguer dans la documentation en hypertexte.
apropos est une commande qui permet de lister les manuels dont la description comprend les mots passés en arguments. Les manuels sont indexés dans une base qui comporte le nom de la commande et une courte description. apropos recherche un mot clé passé en argument dans ces deux parties puis affiche les commandes correspondantes. L’affichage de la description courte d’une commande s’obtient par la commande whatis.
La commande apropos est d'un grand secours lorsqu'on souhaite effectuer une action sans connaître le mnémonique de la commande associée.
Si par exemple on souhaite modifier un encodage de fichier, le mot clé encoding
permettra à apropos de trouver l’utilitaire cherché:
$ apropos encoding man-recode (1) - convert manual pages to another encoding bind_textdomain_codeset (3) - set encoding of message translations chardet (1) - universal character encoding detector chardet3 (1) - universal character encoding detector chardetect (1) - universal character encoding detector chardetect3 (1) - universal character encoding detector encguess (1) - guess character encodings of files Encode::Locale (3pm) - Determine the locale encoding iconv (1) - convert text from one character encoding to another ...