programming について調べたことを整理していきます

man で指定したキーワードに関連した項目を検索する方法



man コマンドで指定したキーワードに関連したコマンド、システムコールなどの項目を確認したい場合、 -kオプションを使えば可能となる。


$ man man

       -K     Search  for the specified string in *all* man pages. Warning: this is probably very slow! It helps
              to specify a section.  (Just to give a rough idea, on my machine this takes about a minute per 500
              man pages.)

例えば、 directoryに関する項目を探したい場合は下記のように検索できる

$ man -k directory
chdir(2), fchdir(2)      - change current working directory
dir(5), dirent(5)        - directory file format
dirhelper(8)             - helper for special directory creation
ditto(1)                 - copy directory hierarchies, create and extract archives
dscacheutil(1)           - gather information, statistics and initiate queries to the Directory Service cache
dscl(1)                  - Directory Service command line utility
dsconfigad(8)            - retrieves/changes configuration for Active Directory
dsexport(1)              - export records from OpenDirectory
ls(1)                    - list directory contents

こういう感じで マニュアル名(セクション番号) という感じでdirectoryに関連する項目がでてくる

ここで、セクション番号は、該当する名前がコマンドやシステムコールなど、どのセクションに属しているものかを表したものです セクションの一覧は、前述したman自体のマニュアルの MANUAL SECTIONS という項目で確認できます。

$ man man

       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 Deamons

       Distributions customize the manual section to their specifics, which often include additional sections.

ここで、先ほどのdir(5) のマニュアルを確認したい場合は

man ${section} ${name} で確認できるので man 5 dir で確認できます

DIR(5)                      BSD File Formats Manual                     DIR(5)

     dir, dirent -- directory file format

     #include <sys/types.h>
     #include <sys/dir.h>

     Directories provide a convenient hierarchical method of grouping files while obscuring the underlying
     details of the storage medium.  A directory file is differentiated from a plain file by a flag in its
     inode(5) entry.  It consists of records (directory entries) each of which contains information about a file