La commande man (manuel) affiche la documentation de référence installée localement pour la plupart des commandes, fichiers de configuration et fonctions système sous Linux. Pas besoin de chercher en ligne : la réponse est souvent déjà sur la machine.

Utilisation de base

man ls
man grep
man crontab

La page s'ouvre dans un pager (généralement less) : le texte ne défile pas automatiquement, c'est à toi de naviguer.

Se déplacer dans une page

espace       # page suivante
b            # page précédente
/motif       # rechercher "motif" vers le bas
n            # occurrence suivante de la recherche
N            # occurrence précédente
g            # aller au début
G            # aller à la fin
q            # quitter

La structure d'une page de manuel

Toutes les pages suivent globalement le même plan :

Lire la ligne SYNOPSIS

Cette ligne utilise une notation précise qu'il vaut la peine de connaître :

rm [-f | -i] [-dIRrvW] file ...

Ici, cette ligne dit : rm accepte optionnellement -f ou -i (mais pas les deux), n'importe quelle combinaison des options -dIRrvW, suivi d'un ou plusieurs noms de fichiers.

Exemple concret : lire man grep

Voici un extrait représentatif de ce qu'affiche man grep :

NAME
       grep - rechercher un motif dans un fichier

SYNOPSIS
       grep [OPTION...] MOTIF [FICHIER...]

DESCRIPTION
       grep recherche le MOTIF dans chaque FICHIER et affiche les lignes correspondantes.

       -i, --ignore-case
              Ignore la casse (majuscules/minuscules).

       -n, --line-number
              Affiche le numéro de ligne de chaque correspondance.

       -r, --recursive
              Parcourt récursivement les sous-dossiers.

En appliquant ce qu'on vient de voir : le SYNOPSIS indique que MOTIF est obligatoire (pas de crochets), que les options sont optionnelles ([OPTION...]), et que plusieurs fichiers peuvent être donnés (points de suspension). Pour chercher "erreur" dans tous les fichiers .log d'un dossier, sans tenir compte de la casse, en affichant le numéro de ligne :

grep -in "erreur" *.log

Cette commande combine -i et -n (regroupables derrière un seul tiret, comme souvent en ligne de commande) directement à partir de ce qui a été lu dans la page de manuel.

Les sections du manuel

Le manuel est découpé en sections numérotées, et un même nom peut exister dans plusieurs :

man 1 passwd    # la commande passwd
man 5 passwd    # le format du fichier /etc/passwd

Sans précision, man affiche la première section trouvée, généralement la 1.

Chercher quand on ne connaît pas le nom exact

man -k reseau       # ou apropos reseau
whatis ls           # résumé d'une ligne, sans ouvrir la page complète
man -k cherche dans les descriptions de toutes les pages installées : pratique pour retrouver une commande dont on a oublié le nom exact.

man ou --help ?

commande --help donne un résumé rapide des options, directement dans le terminal, sans pager. man commande est plus complet mais aussi plus long à parcourir. Le réflexe courant : --help pour un rappel rapide, man quand il faut vraiment comprendre un comportement ou une option précise.