たとえば、_man ls
_と入力すると、LS(1)
と表示されます。しかし、_man apachectl
_と入力するとAPACHECTL(8)
が表示され、_man cd
_と入力するとcd(n)
になります。
かっこ内の数字に意味がある場合、その意味は何かと思います。
番号は、そのページのマニュアルのセクションに対応しています。 1はユーザーコマンド、8はsysadminに関するものです。 man自体のmanページ(man man
)はそれを説明し、標準的なものをリストします:
MANUAL SECTIONS
The standard sections of the manual include:
1 User Commands
2 System Calls
3 C Library Functions
4 Devices and Special Files
5 File Formats and Conventions
6 Games et. al.
7 Miscellanea
8 System Administration tools and Daemons
Distributions customize the manual section to their specifics,
which often include additional sections.
異なるセクションに異なるページがある特定の用語があります(たとえば、printf
関数はセクション3に表示されるため、stdlib
コマンドはセクション1に表示されます)。このような場合は、ページ名の前にセクション番号をman
に渡して必要なページを選択するか、man -a
を使用して一致するすべてのページを続けて表示できます。
$ man 1 printf
$ man 3 printf
$ man -a printf
man -k
(apropos
コマンドと同等)を使用して、用語がどのセクションに該当するかを確認できます。これは部分文字列の一致も行います(たとえば、man -k printf
を実行するとsprintf
と表示されます)。そのため、^term
を使用して制限する必要があります。
$ man -k '^printf'
printf (1) - format and print data
printf (1p) - write formatted output
printf (3) - formatted output conversion
printf (3p) - print formatted output
printf [builtins] (1) - bash built-in commands, see bash(1)
これらのセクション番号の履歴は、1971年にThompsonとRitchieによって作成された nix Programmer's Manual に戻ります。
元のセクションは
konquerorは非標準セクションについても説明します:(アイデアについて@ greg0ireに感謝)
0 Header files
0p Header files (POSIX)
1 Executable programs or Shell commands
1p Executable programs or Shell commands (POSIX)
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
3n Network Functions
3p Perl Modules
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines
l Local documentation
n New manpages
その意味はすでに説明していますが、各セクションに紹介付きの特別なマニュアルページintro
があることも付け加えておきます。たとえば、man 1 intro
またはman 3 intro
などを参照してください。
man
マンページから:
The table below shows the section numbers of the manual followed by the
types of pages they contain.
1 Executable programs or Shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions eg /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conven‐
tions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
なぜそれらがそのように分離しているのかについて-いくつかの重複があります。意味によっては、特定のマンページが複数のセクションに存在します。
たとえば、man crontab
とman 5 crontab
-後者は、検索するつもりである可能性があります。
これらはセクション番号です。 man man
またはkonquerorを開いてman:// manと入力すると、これらのセクションが表示されます。
多くの場合、マニュアルページは括弧で囲まれたセクションを付けたサフィックスで参照されます。例:
_read(2)
_
このスタイルには2つの主な利点があります。
マニュアルページはセクションで構成されています。セクション1にはすべてのユーザーコマンドのマニュアルページが含まれ、セクション2にはシステムコールのすべてのマニュアルページが含まれ、セクション3にはライブラリ関数などが含まれます。
コマンドラインでセクションを明示的に指定しない場合、最初に一致するmanページがデフォルトのセクショントラバーサル順序で表示されます。例:
_$ man read
_
fedoraでBASH_BUILTINS(1)
を表示します。どこ
_$ man 2 read
_
read()
システムコールのマニュアルページを表示します。
セクションの位置指定は移植できないことに注意してください。 Solarisでは、次のように指定します。
_$ man -s 2 read
_
通常、_man man
_には、使用可能なセクションの一部もリストされています。しかし、必ずしもすべてではありません。利用可能なすべてのセクションを一覧表示するには、デフォルトのmanパスまたは環境変数_$MANPATH
_にリストされているすべてのディレクトリのサブディレクトリを一覧表示できます。たとえば、いくつかの開発パッケージがインストールされたFedora 23システムでは、_/usr/share/man
_には次のサブディレクトリがあります。
_cs es id man0p man2 man3x man5x man7x man9x pt_BR sk zh_CN
da fr it man1 man2x man4 man6 man8 mann pt_PT sv zh_TW
de hr ja man1p man3 man4x man6x man8x pl ro tr
en hu ko man1x man3p man5 man7 man9 pt ru zh
_
man
プレフィックスの付いたディレクトリは各セクションを表します-他のディレクトリは翻訳されたセクションを含みます。したがって、空でないセクションのリストを取得するには、次のようなコマンドを発行します。
_$ find /usr/share/man -type f | sed 's@^.*/man\(..*\)/.*$@\1@' \
| sort -u | column
0p 1p 3 4 6 8
1 2 3p 5 7
_
(p
で終わるセクションはPOSIX manページです)
別の言語(利用可能な場合)でマニュアルページを表示するには、言語関連の環境変数を設定できます。例:
_$ LC_MESSAGES=de_DE man read
_
また、各セクションには、intro
という名前の導入マニュアルページが必要です。経由で表示可能:
_$ man 2 intro
_
SVr4の定義は次のとおりです。
1 User Commands
2 System Calls
3 library Functions
4 File Formats
5 Standards, Environment and Macros (e.g. man(5))
6 Games and Demos
7 Device and Network Interfaces, Special Files
8 Maintenance Procedures
9 Kernel and Driver entry points and structures
これらは、「遺伝的」UNIXの実際の番号付けです。 POSIXは数値を定義しません。