Linux / Commande info : naviguer et chercher dans les manuels GNU

La commande info permet de lire les manuels GNU au format Info dans le terminal, en suivant des nœuds, des menus et des renvois. Ouvrez par exemple info coreutils si sa documentation est installée, utilisez H pour l’aide rapide et q pour quitter ; contrairement à less, la touche n sert ici à changer de nœud.

Comprendre les nœuds, menus et index

GNU Info lit des fichiers produits notamment avec le système documentaire Texinfo. Un manuel est organisé en unités logiques reliées entre elles. Cette organisation convient aux explications longues, aux chapitres et aux relations entre options ; elle complète la consultation des pages de manuel avec man.

Terme Signification
Nœud Une unité logique du manuel, souvent un chapitre ou une section, qui peut occuper plusieurs écrans.
Menu Une liste de destinations, notamment les sous-parties d’un nœud.
Renvoi Un lien vers un autre nœud du même manuel ou d’un autre manuel.
Index Des entrées de notions ou d’options qui renvoient à l’explication correspondante.
Nœud de répertoire, (dir) Un point d’entrée regroupant les manuels enregistrés dans les répertoires documentaires consultés.

En tête d’un nœud, les champs File, Node, Next, Prev et Up peuvent indiquer sa place et les destinations associées. Next et Prev sont des liens de structure ; l’historique des pages visitées est un mécanisme distinct.

Ce guide décrit les touches habituelles du lecteur GNU Info autonome. Le manuel officiel de GNU Info autonome présente l’ensemble ; des réglages personnels ou --vi-keys peuvent modifier les commandes.

Ouvrir un manuel et effectuer une première lecture

Vérifiez la disponibilité du programme et son aide :

info --version
info --help

La notation générale ci-dessous explique les arguments ; ne recopiez pas les crochets et points de suspension dans une commande réelle :

info [options] [manuel] [élément-de-menu-ou-d’index...]

Sans argument, Info ouvre normalement le répertoire des documents enregistrés. Pour ses propres explications, deux manuels peuvent être disponibles :

info
info info
info info-stnd

info-stnd documente le lecteur autonome ; info est notamment le manuel pédagogique de lecture Info distribué avec Emacs. Ils peuvent être fournis séparément et ne sont pas garantis sur une installation minimale.

Si les documents Coreutils sont installés et correctement enregistrés, essayez :

info coreutils
info ls

Exécutez ces commandes l’une après l’autre, en quittant chaque session avec q. La première mène au manuel Coreutils ; la seconde peut aller directement au nœud de ls dans ce manuel. Il n’est pas nécessaire qu’un fichier séparé ls.info existe : l’entrée du répertoire peut pointer vers un nœud précis.

  1. Ouvrez info coreutils et regardez les noms du fichier et du nœud.
  2. Dans un menu visible, utilisez Tab pour sélectionner un élément puis Entrée pour le suivre.
  3. Après lecture, appuyez sur l minuscule pour revenir au nœud précédemment visité.
  4. Utilisez t pour revenir au nœud Top du manuel, puis q pour quitter.

Si le document ne s’ouvre pas, vérifiez d’abord son installation et son chemin avec la procédure plus bas. Un programme installé ne possède pas nécessairement une documentation Info locale.

Naviguer avec les touches par défaut

Touche Action
Espace Avancer dans le texte ; à la fin d’un nœud, poursuivre selon l’ordre de lecture du manuel.
Retour arrière ou Suppr Reculer ; la touche réellement transmise dépend du terminal et des réglages.
n, p Suivre le lien Next ou Prev.
u Suivre le lien Up vers le niveau supérieur.
t Ouvrir le nœud Top du manuel courant.
d Ouvrir le répertoire des manuels.
l Revenir dans l’historique des nœuds visités.
Tab, Maj+Tab Passer au renvoi suivant ou précédent.
Entrée Suivre le renvoi sélectionné.
m Choisir un élément du menu par son nom.
H Afficher la fenêtre d’aide rapide intégrée.
h Tenter d’ouvrir le nœud pédagogique (info)Help, si ce document est disponible.
Ctrl+g Annuler une saisie ou une opération en cours.
q Quitter GNU Info.

Respectez les majuscules : H et h n’ont pas la même destination. De même, l revient dans l’historique alors que u suit le parent structurel ; après un renvoi vers un autre chapitre, ces deux commandes peuvent conduire à des endroits différents.

Pour choisir par nom, appuyez sur m, saisissez le début d’un élément du menu puis utilisez Tab pour la complétion et Entrée pour valider. Vous choisissez une entrée du menu courant, pas n’importe quel mot rencontré dans le texte.

Chercher du texte ou une notion dans l’index

Rechercher dans le texte du manuel

Appuyez sur s ou /, saisissez un motif puis Entrée. Dans les réglages par défaut du lecteur GNU documenté, cette recherche utilise des expressions régulières ; R permet de basculer entre ce mode et une chaîne littérale. Vérifiez l’aide de votre version si vous cherchez un caractère spécial.

Une recherche sans majuscule ignore normalement la casse ; la présence d’une majuscule rend la comparaison sensible à la casse. ? recherche vers l’arrière. Pour répéter une recherche simple, appuyez à nouveau sur s puis Entrée pour reprendre le motif proposé.

Ctrl+s et Ctrl+r lancent les recherches incrémentales, vers l’avant et l’arrière : le résultat évolue pendant la saisie. La touche n conserve son rôle de lien Next ; elle n’est pas la commande de répétition de recherche de less.

Utiliser les index du manuel courant

Appuyez sur i, saisissez une notion ou une option puis Entrée. Si une entrée correspond, Info ouvre le nœud qu’elle référence. La virgule , permet de passer aux autres correspondances de cette recherche d’index.

I majuscule réunit les correspondances dans un nœud virtuel. L’index peut être plus pertinent qu’une recherche de texte, car il relie une notion à l’endroit prévu pour l’expliquer. Son efficacité dépend néanmoins du contenu et de la qualité des index fournis par l’auteur du manuel.

Rechercher dans plusieurs manuels depuis le shell

info -k permissions
info --apropos='regular expression'

Cette commande examine les index Info qu’elle peut trouver, pas tous les textes de tous les logiciels présents sur la machine. Elle affiche ses résultats puis se termine. Utilisez un mot dans la langue du document ; un index anglais ne répond pas nécessairement à sa traduction française. Avec beaucoup de documents, la recherche peut prendre du temps.

Ouvrir directement un nœud ou une explication d’options

Quand le nom du manuel et du nœud est connu, les deux formes suivantes désignent le nœud ls invocation de Coreutils :

info coreutils --node='ls invocation'
info '(coreutils)ls invocation'

Les guillemets conservent espaces et parenthèses dans le même argument. Le nom exact dépend du document installé ; s’il est introuvable, ouvrez d’abord info ls ou recherchez la notion dans l’index au lieu d’inventer un autre nom.

Les arguments de menu permettent aussi de suivre une succession d’entrées depuis le nœud de départ. Ils ne représentent pas forcément un chemin de répertoires sur le disque. Pour viser l’utilisation en ligne de commande d’un programme :

info ls -O
info --show-options cp

-O, --show-options et --usage cherchent une destination expliquant l’invocation du programme. Le résultat dépend de la structure documentaire ; tous les manuels ne fournissent pas une destination appropriée.

Retrouver le fichier et utiliser un chemin local

Afficher le fichier sélectionné sans ouvrir le lecteur

info -w coreutils
info --all --where coreutils

-w affiche le fichier qui serait sélectionné. Avec les versions prenant en charge cette combinaison, --all --where montre les fichiers correspondants trouvés dans les différents chemins. Cela aide lorsqu’un manuel existe à plusieurs endroits.

Le chemin renvoyé peut être compressé ou appartenir à une documentation installée séparément. Consultez le contenu et la version concernés avant de conclure que le manuel décrit le programme réellement exécuté.

Ouvrir un fichier connu ou ajouter un répertoire

Pour un fichier Info réel et de provenance connue dans le répertoire courant :

info ./project.info
info -f ./project.info

Remplacez project.info par votre fichier. Un chemin contenant / cible l’emplacement indiqué ; -f évite la recherche de son nom dans les fichiers de répertoire dir. GNU Info sait aussi rechercher certaines extensions et formats compressés pris en charge.

info -d /opt/example/share/info example
printf '%s\n' "$INFOPATH"

Le répertoire d’exemple doit exister et contenir la documentation visée. -d ajoute un chemin pour cette invocation et peut être répété. INFOPATH influence les chemins et leur ordre ; les règles concernant les valeurs par défaut dépendent aussi de la version et de ses réglages. Préférez une option temporaire puis vérifiez avec -w avant de changer durablement l’environnement de la session.

Exporter du texte sans écraser un fichier existant

--output, ou -o, écrit les nœuds visités au lieu d’ouvrir une session interactive. La valeur - désigne la sortie standard. Pour exporter le manuel Coreutils avec les sous-nœuds de ses menus dans un nouveau fichier, utilisez un shell Bash :

(
  set -o noclobber
  info --subnodes --output=- coreutils > coreutils.txt
)

noclobber empêche l’écrasement d’un fichier coreutils.txt déjà présent ; choisissez un autre nom pour un nouvel export. Cette option reste limitée au sous-shell entre parenthèses. Si Info échoue, un fichier vide ou partiel peut subsister : vérifiez le code de retour et les messages avant de considérer l’export comme complet.

--subnodes suit récursivement les nœuds référencés dans les menus du document exporté. Il ne copie pas pour autant tous les manuels externes mentionnés ni toutes les destinations d’index. Un manuel volumineux peut produire beaucoup de texte : ciblez un nœud avec -n lorsque cela suffit.

Pour envoyer une sortie textuelle vers un afficheur plutôt que vers un fichier :

info --output=- coreutils | less

Vous utilisez alors les touches de less, pas la navigation interactive d’Info. Plus généralement, Info adapte son comportement lorsque sa sortie n’est pas un terminal ; distinguez une session interactive et un export dans vos scripts. Les options sont décrites dans la section Invoking Info du manuel officiel.

Résoudre un lecteur ou un document manquant

Installer le lecteur adapté à la distribution

Si info est absent, les exemples habituels pour Debian/Ubuntu sont :

sudo apt update
sudo apt install info

Pour une distribution utilisant DNF, notamment Rocky Linux, vérifiez le paquet proposé par vos dépôts :

sudo dnf install info

Choisissez la procédure de votre distribution et relisez les changements proposés. L’installation du lecteur ne garantit pas la présence des manuels de tous les programmes ni celle de info-stnd. La documentation peut être répartie dans des paquets distincts.

Vérifier la documentation et son enregistrement

info -w coreutils
info -k permissions
info -w info-stnd

Si le fichier manque, recherchez le paquet documentaire correspondant. Si le fichier existe mais n’apparaît pas dans le répertoire général, essayez son chemin réel avec info -f. Les fichiers dir enregistrent les points d’entrée et peuvent être incomplets sans que le manuel soit inutilisable.

Pour un logiciel compilé localement, contrôlez les instructions d’installation et le chemin choisi. Ne modifiez pas à l’aveugle les fichiers d’enregistrement du système : commencez par l’état des paquets et un essai avec -d ou le chemin complet du manuel. Une entrée pointant vers un nœud supprimé demande aussi de vérifier la version du document.

Choisir Info ou man selon le besoin

Besoin Outil à envisager Point à vérifier
Lire des concepts et chapitres liés. info Manuel Info disponible et adapté à la version du programme.
Consulter une référence de commande, fichier ou fonction. man Bonne section numérotée et page installée.
Vérifier rapidement la syntaxe d’un programme. --help Option prise en charge ; texte parfois limité.

Info n’est pas automatiquement plus exact que man : chaque projet choisit ses documents de référence et son rythme de mise à jour. Le bon réflexe consiste à identifier le programme et sa version, ouvrir le document correspondant, puis utiliser ses menus ou son index pour lire l’explication complète d’une option.