Hornetpathmanquest

Exercice · shell

Lis le manuel avant de taper

Douze missions, un bac à sable man qui répond pour de vrai, et un flag à reconstituer fragment par fragment. Aucune commande à copier : il n'y a que des pages à lire.

C'est quoi ?

man est le manuel installé sur la machine. Chaque commande, chaque format de fichier et chaque fonction C y a sa page, écrite par ceux qui ont écrit le programme. C'est de la documentation hors ligne, versionnée avec le logiciel lui-même.

Pourquoi je m'en sers ?

Parce qu'un tutoriel trouvé en ligne parle d'une version, d'une distribution et d'une date qui ne sont pas les tiennes. La page de manuel de ta machine décrit ta machine. Elle est toujours à jour et toujours disponible, même sans réseau.

Et quand ça casse ?

Trois échecs classiques : Aucune entrée de manuel quand la page n'est pas installée, nothing appropriate quand l'index n'a jamais été construit, et la mauvaise page affichée quand deux sections portent le même nom. Les missions 11 et 12 portent exactement là-dessus.

Anatomie d'une page

RubriqueCe qu'on y trouve
NOMle nom, un tiret, une phrase. C'est ce que fouille man -k.
SYNOPSISla forme exacte de la commande. Les crochets entourent le facultatif, les points de suspension signifient « répétable ».
DESCRIPTIONle comportement, en prose. La partie qu'on saute et qu'il faut lire.
OPTIONSchaque drapeau, sa forme courte et sa forme longue.
ETAT DE SORTIEles codes de retour. Indispensable dès qu'on scripte.
EXEMPLESrarement présente, toujours précieuse.
VOIR AUSSIles pages voisines. C'est le fil qu'on tire quand on est perdu.
SectionContenu
1commandes et programmes
2appels système
3fonctions de bibliothèque
4fichiers spéciaux de /dev
5formats de fichier
6jeux
7divers, conventions
8administration système
Espace écran suivant b écran précédent / chercher n occurrence suivante g G début et fin q quitter

Sur une vraie machine, man passe la page à less : ces touches sont celles de less, pas celles de man. Le bac à sable ci-dessous affiche les pages d'un bloc, sans pagination.

Le bac à sable

Un vrai man miniature. Onze pages, huit commandes reconnues. Commence par help.

manquest — bash 11 pages

Les douze missions

Chaque bonne réponse libère un fragment du flag. Les réponses sont vérifiées dans ton navigateur, rien ne part ailleurs.

0 / 12 résolues
Mission 01 Ouvrir

Ta première page

Ouvre la page de ls avec man ls. Tout en haut, la rubrique NOM tient sur une ligne : le nom, un tiret, puis la description courte. Recopie cette description, sans le nom ni le tiret.

Mission 02 Ouvrir

Toujours le même plan

Une page de manuel suit toujours la même trame : NOM, SYNOPSIS, DESCRIPTION, puis les autres. Ouvre man man et regarde les titres en capitales. Quelle rubrique vient juste après DESCRIPTION et liste les options ?

Mission 03 Ouvrir

Le manuel est numéroté

Toujours dans man man, la DESCRIPTION contient une liste numérotée : ce sont les sections du manuel. Quelle section documente les formats de fichier, celle où vit /etc/passwd ? Réponds par le numéro seul.

Mission 04 Viser

Le même nom, deux pages

printf est à la fois une commande du shell (section 1) et une fonction du langage C (section 3). man printf s'arrête à la première trouvée. Ouvre la page de la fonction C et lis son SYNOPSIS : quel fichier d'en-tête faut-il inclure ?

Mission 05 Viser

Toutes les pages d'un nom

Quand un nom existe dans plusieurs sections, une option les enchaîne toutes au lieu de s'arrêter à la première. Trouve-la dans la rubrique OPTIONS de man man, puis applique-la à hornet. Combien de pages portent ce nom ?

Mission 06 Viser

La description sans la page

Parfois on veut seulement savoir à quoi sert une commande, sans ouvrir toute sa page. Une commande dédiée donne cette unique ligne. Utilise-la sur mandb : que dit sa description courte ?

Mission 07 Chercher

Chercher sans connaître le nom

Tu cherches une page qui parle de « ruche », mais tu ne connais aucun nom de commande. Trouve dans OPTIONS l'option qui fouille les descriptions courtes de toutes les pages, puis lance-la sur le mot ruche. Combien de pages ressortent ?

Mission 08 Chercher

Une page est un fichier

Une page de manuel n'est pas magique : c'est un fichier sur le disque. Une option de man affiche son chemin sans l'ouvrir. Utilise-la sur passwd. Les chemins se terminent tous par la même extension, celle qui dit que le fichier est compressé. Laquelle ?

Mission 09 Lire

La bonne page, pas la première

man hornet ouvre la section 1, qui ne documente aucun environnement. Va lire l'autre page et sa rubrique ENVIRONNEMENT : quelle est la valeur d'usine de HORNET_PASS ?

Mission 10 Lire

Ce que la page dit d'elle-même

Toujours dans man 7 hornet, la même rubrique explique pourquoi un mot de passe par défaut publié dans un manuel pose problème. Elle écrit : « n'est pas un secret, c'est ... ». Recopie les trois mots qui terminent la phrase.

Mission 11 Dépanner

nothing appropriate

Sur une machine fraîchement installée, la recherche par mot-clé répond nothing appropriate alors que les pages existent : l'index des descriptions n'a jamais été construit. Ouvre man 8 mandb : quel fichier d'index cette commande produit-elle dans chaque répertoire de section ?

Mission 12 Dépanner

La page qui n'existe pas

Demande man ruche. Aucune page ne porte ce nom exact, et le manuel te le dit franchement, alors que deux pages parlent pourtant de ruche. Recopie les trois premiers mots du message d'erreur.

Le flag

Douze fragments, une phrase

Aucun fragment récupéré. Chaque mission résolue en libère un morceau, dans l'ordre.

Hornetpath · ManQuest · la règle d'or : comprendre avant de taper