Linuxのマニュアルページフォルダ構成、構造、命名規則

Linuxのマニュアルページフォルダ構成、構造、命名規則

次のコマンドの出力に表示されるLinuxのマニュアルページフォルダの構成/構造に関する質問があります。

[root@centos8 man]# pwd
/usr/share/man
[root@centos8 man]# ls -d ./man*
./man0p  ./man1p  ./man2   ./man3   ./man3x  ./man4x  ./man5x  ./man6x  ./man7x  ./man8x  ./man9x
./man1   ./man1x  ./man2x  ./man3p  ./man4   ./man5   ./man6   ./man7   ./man8   ./man9   ./mann 

フォルダがなぜこんなに多いの?たとえば、man0p、man1p、man2、man2xとは何ですか?

ありがとうございます。

答え1

上記のように、この数字が何を意味するのかについての質問に対する良い答えはすでにあります。

サフィックス(例:xin man2x)の場合Wikipedia マニュアルページの記事含む:

一部の部分はサフィックスにさらに細分されます。たとえば、一部のシステムでは、3C部分がCライブラリー呼び出し用で、3M部分が数学ライブラリー用です。その結果、セクション8(システム管理コマンド)が時々基本コマンドセクションの1Mサブセクションに降格します。一部のセクションサフィックスは、セクション全体で共通の意味を持ちます。

Subsection | Description
-----------|------------------------------
p          | POSIX specifications
x          | X Window System documentation

(言語ごとにサフィックスが多いため、3節は例外の場合が多いです。)

したがって、man3xX Windowsシステム用のCライブラリ関数になります。

答え2

一般的に言うと:

  1. ユーザーコマンド
  2. システムレベルの関数呼び出し
  3. ライブラリ機能
  4. 規約
  5. 構成ファイル
  6. ゲーム
  7. その他の情報
  8. システムコマンド

一部のシステムでは、セクション9に内部カーネルルーチンがあります。

午後3時のページもご覧いただけます。これはPerlモジュールです。私はちょうど午前3時のページを見つけましたが、これはGNU awk拡張のようです!喜び。

答え3

上記のアクセシビリティ情報をいくつか追加するためにマニュアルページを呼び出すときにコマンドにセクション番号を追加すると、マニュアルページのディレクトリ構造がどのように機能するかを確認できます。

たとえば、man printfLinuxで実行されていると表示されます。ユーザーコマンドprintfセクション1のこのユーティリティのマニュアルページ。man printf同様のものがBSDで提案されている。BSD共通コマンドマニュアルセクション1のマニュアルページprintf

または、man 3 printfLinuxで実行している場合は、次のような結果が得られます。Linuxプログラマーズマニュアルprintfマニュアルページ セクション 3 C プログラミング言語の関数系列のマニュアルページです。man 3 printf同様のものがBSDで提案されている。BSDライブラリ機能マニュアルセクション3のC関数printfのマニュアルページ。

初めて実行すると、man foomanユーティリティはセクション1で検索を開始し、マニュアルページを検索するか、foo検索が終了するまでより高い番号のセクションを検索し続けます。マンページの最初の行を見ると、マンページがどのセクションにあるかがわかります。右上または左上には、マニュアルページのディレクトリ構造に対応するセクション番号が表示されますfoo(N)N

man foo最初のヒットまで、すべてのセクションを実行して検索するのと比較して、man N barwhere Nis the targetsectionを実行すると、そのセクションにのみ検索が制限されます。

関連情報