man-pages 簡介#
Linux man-pages 提供與 Linux kernel 以及 GNU C library 提供的 user-space API 有關的詳細資訊,其主要分為 8 個章節,主題如下:
| 章節 | 主題 |
|---|---|
| 1 | User commands (Programs) |
| 2 | System calls |
| 3 | Library calls |
| 4 | Special files (devices) |
| 5 | File formats and configuration files |
| 6 | Games |
| 7 | Overview, conventions, and miscellaneous |
| 8 | System 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 的標頭檔以及函式庫呼叫的方法小技巧#
開啟符合關鍵字的 man page:
man -a keyword列出符合關鍵字的檔案路徑,並詢問是否要開啟該檔案:
man -K keyword列出所在章節/查詢指定章節
以
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