web-dev-qa-db-fra.com

Quelle est la différence entre `man` et` man (#) `?

Je viens de voir quelqu'un qui fait référence à man 7 regex sur Stackoverflow. J'ai essayé man regex et j'ai obtenu un résultat très similaire - il semble y avoir de légères différences.

Alors, quel est ce nombre magique 7? La recherche de man 7 unix sur Google me donne des résultats plus mystérieux comme UNIX (7) ...

31
Aditya M P

A propos de UNIX(7)

Pour répondre à votre question "UNIX (7)", il s'agit de la convention standard suivante: "La page de manuel d'UNIX dans la section 7 (divers)".

Pour ouvrir une page telle que init(8), utilisez la commande suivante: man 8 init .


_man regex_ vs _man 7 regex_

Pour répondre à votre question sur les "différences subtiles" entre man regex et man 7 regex :

man ouvre par défaut la page avec le numéro de section le plus bas . Dans ce cas, il s’agit de la section 3 (appels à la bibliothèque). Ouvrir la page à partir de la section 7 (Divers) est très différent.

Les pages de sections différentes traitent de choses différentes, bien que dans ce cas elles soient similaires, considérons apt:

man -f apt :

_apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool
_

Dans cet exemple, apt de la section 8 (Commandes d'administration système) n'a aucun lien avec la page de la section 1 (Programmes exécutables ou commandes Shell).

Pour référence future, utilisez _man -f PAGE_NAME_ pour localiser toutes les pages portant ce nom dans toutes les sections. Vous pouvez ensuite ouvrir une page de la section souhaitée avec _man SECTION PAGE_NAME_.

Sections de page de manuel

Les différentes sections de page sont les suivantes et peuvent être trouvées à partir de man man :

  1. Programmes exécutables ou commandes Shell
  2. Appels système (fonctions fournies par le noyau)
  3. Appels de bibliothèque (fonctions dans les bibliothèques de programmes)
  4. Fichiers spéciaux (généralement trouvés dans _/dev_)
  5. Formats de fichier et conventions, par exemple _/etc/passwd_
  6. Jeux
  7. Divers (y compris les packages de macros et les conventions), par exemple man(7), groff(7)
  8. Commandes d'administration système (généralement uniquement pour root)
  9. Routines du noyau [non standard]
33
kiri

Les numéros de section

man affiche la page de manuel de toute section, man 7 affiche la page de manuel de la section 7. Donc, ici 7 fait référence à la section de la commande particulière pour laquelle vous recherchez la page de manuel.

Une section, si elle est fournie, demandera à l'homme de ne regarder que dans cette section du manuel.


Les sections

Consultez le tableau suivant pour connaître les numéros de section du manuel, suivis des types de pages qu’ils contiennent.

1: programmes exécutables ou commandes shell

2: Appels système (fonctions fournies par le noyau)

3: Appels de bibliothèque (fonctions dans les bibliothèques de programmes)

4: Fichiers spéciaux (généralement présents dans/dev)

5: Formats de fichier et conventions, par exemple/etc/passwd

6: jeux

7: Divers (y compris les packages de macros et les conventions), par exemple. homme (7), groff (7)

8: Commandes d’administration du système (généralement uniquement pour root). Des aperçus de divers sujets, conventions et protocoles, normes de jeux de caractères et autres choses diverses.

9: routines du noyau [non standard]


Commandes dans plus d'une section

Dans la plupart des cas, vous voudrez utiliser la commande man sans autre n . Cependant, dans certains cas, une commande apparaîtra dans plusieurs sections. Par exemple, si vous exécutez la commande man open, vous obtenez la page de manuel pour openvt à partir de la section 1. Mais si vous devez voir la page de manuel relative à la commande ouverte en tant que commande C (ou appel système, comme indiqué dans le tableau ci-dessus) , vous devez émettre man 2 open.

Un exemple très similaire sera man printf et man 3 printf. S'il vous plaît émettre les commandes et voir par vous-même la différence de sortie.


Votre numéro de man 7 unix (UNIX (7))

Donc, UNIX (7) signifie qu’il appartient à la section 7.


Quelle section sera affichée par défaut si je ne fournis pas de numéro de section?

L'action par défaut consiste à rechercher dans toutes les sections disponibles, dans un ordre prédéfini, et à n'afficher que la première page trouvée, même si la page existe dans plusieurs sections.


Comment connaître le numéro de section d'une commande?

Si vous avez besoin de savoir quelles sections un terme/une commande appartient à man -k (équivalent à la commande apropos). Ainsi, man -k printf recherchera les expressions abrégées et les noms de page de manuel du mot-clé printf sous forme d'expression régulière. Imprimez toutes les correspondances. (Équivalent à apropos -r printf). Émettez la commande, voyez la tonalité que vous obtenez. Si vous devez éviter les correspondances de sous-chaîne (par exemple, sprintf sera affiché si vous exécutez man -k printf), vous devez donc utiliser ^term pour le limiter, comme indiqué ci-dessous,

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

Commande associée

Une commande associée est apropos, comme indiqué ci-dessus, qui permet de rechercher les noms et les descriptions de la page de manuel. Si vous ne savez pas quelle page de manuel vous recherchez mais avez une idée générale, utilisez cette commande.

14
Masroor