man-pages 簡介#

Linux man-pages 提供與 Linux kernel 以及 GNU C library 提供的 user-space API 有關的詳細資訊,其主要分為 8 個章節,主題如下:

章節主題
1User commands (Programs)
2System calls
3Library calls
4Special files (devices)
5File formats and configuration files
6Games
7Overview, conventions, and miscellaneous
8System management commands

實際案例#

Unix-like 的作業系統幾乎都內建了 Programmer’s Manual,它可以幫助我們查找 C 語言函式的定義。若我想知道 sem_init() 的定義,便可以直接在終端機輸入以下命令:

man sem_init

頁首會出現 SEM_INIT(3),其中的數字 3 表示 sem_init() 屬於函式庫呼叫,並且詳述了它被實作於哪一個函式庫以及使用方式(呼叫函式時應傳入的參數以及應用場景等)。

安裝#

如果你無法在 Linux 作業系統查閱 man-pages,請使用以下命令安裝:

$ sudo apt-get install manpages          # 涵蓋 GNU/Linux 的基本操作
$ sudo apt-get install manpages-dev      # GNU/Linux 的相關 API
$ sudo apt-get install manpages-posix    # POSIX 所定義公用程式的方法
$ sudo apt-get install manpages-posix-dev # POSIX 的標頭檔以及函式庫呼叫的方法

小技巧#

  1. 開啟符合關鍵字的 man page:

    man -a keyword
  2. 列出符合關鍵字的檔案路徑,並詢問是否要開啟該檔案:

    man -K keyword
  3. 列出所在章節/查詢指定章節

    printf 為例,在輸入命令時加入 -aw 參數,man page 就會回傳 printf 所在的章節:

    man -aw printf
    /usr/share/man/man1/printf.1
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man1/printf.1
    /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/share/man/man3/printf.3

    查詢結果顯示它會出現在 man page 當中的第一章和第三章,若我們想要查詢的是 Library call,則可以在查詢目標之前加入指定章節:

    man 3 printf

    若你覺得麻煩不想分開查閱,也可以在命令加入 -a 參數一次查看所有內容:

    man -a printf

原文出處#

  • 原書/iThome:https://ithelp.ithome.com.tw/articles/10273893