次のコマンドの出力に表示される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
上記のように、この数字が何を意味するのかについての質問に対する良い答えはすでにあります。
サフィックス(例:x
in man2x
)の場合Wikipedia マニュアルページの記事含む:
一部の部分はサフィックスにさらに細分されます。たとえば、一部のシステムでは、3C部分がCライブラリー呼び出し用で、3M部分が数学ライブラリー用です。その結果、セクション8(システム管理コマンド)が時々基本コマンドセクションの1Mサブセクションに降格します。一部のセクションサフィックスは、セクション全体で共通の意味を持ちます。
Subsection | Description -----------|------------------------------ p | POSIX specifications x | X Window System documentation
(言語ごとにサフィックスが多いため、3節は例外の場合が多いです。)
したがって、man3x
X Windowsシステム用のCライブラリ関数になります。
答え2
一般的に言うと:
- ユーザーコマンド
- システムレベルの関数呼び出し
- ライブラリ機能
- 規約
- 構成ファイル
- ゲーム
- その他の情報
- システムコマンド
一部のシステムでは、セクション9に内部カーネルルーチンがあります。
午後3時のページもご覧いただけます。これはPerlモジュールです。私はちょうど午前3時のページを見つけましたが、これはGNU awk拡張のようです!喜び。
答え3
上記のアクセシビリティ情報をいくつか追加するためにマニュアルページを呼び出すときにコマンドにセクション番号を追加すると、マニュアルページのディレクトリ構造がどのように機能するかを確認できます。
たとえば、man printf
Linuxで実行されていると表示されます。ユーザーコマンドprintf
セクション1のこのユーティリティのマニュアルページ。man printf
同様のものがBSDで提案されている。BSD共通コマンドマニュアルセクション1のマニュアルページprintf
。
または、man 3 printf
Linuxで実行している場合は、次のような結果が得られます。Linuxプログラマーズマニュアルprintf
マニュアルページ セクション 3 C プログラミング言語の関数系列のマニュアルページです。man 3 printf
同様のものがBSDで提案されている。BSDライブラリ機能マニュアルセクション3のC関数printf
のマニュアルページ。
初めて実行すると、man foo
manユーティリティはセクション1で検索を開始し、マニュアルページを検索するか、foo
検索が終了するまでより高い番号のセクションを検索し続けます。マンページの最初の行を見ると、マンページがどのセクションにあるかがわかります。右上または左上には、マニュアルページのディレクトリ構造に対応するセクション番号が表示されますfoo(N)
。N
man foo
最初のヒットまで、すべてのセクションを実行して検索するのと比較して、man N bar
where N
is the targetsectionを実行すると、そのセクションにのみ検索が制限されます。