手冊頁
此條目可參照英語維基百科相應條目來擴充。 (2023年11月3日) |
手冊頁(英語:man page,Manual pages的縮寫)是指在Unix或類Unix作業系統中查詢指令使用手冊,使用者可以執行man
命令查詢指令用法。簡體中文直譯為手册页,臺灣正體中文翻譯為使用手冊、線上手冊。在Unix或類Unix操作系統中有非常多的指令,通常使用者(甚至是資深的系統管理者)都無法記住每個指令的詳細使用方式,尤其是那些有非常多參數可以用的指令,就算是天天在用的-ls
,可能也不是很清楚它所有的參數如何使用。所幸一般 UNIX/Linux 系統中的指令都會附帶相關的線上說明手冊(Manual pages,簡稱 man page),提供使用者查詢與參考,內容包括計算機程序(庫和系統調用)。[1][2][3]
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Man_page_on_Linux_screenshot.png/220px-Man_page_on_Linux_screenshot.png)
用法
編輯為查閱某個Unix命令的手冊頁,用戶可以在命令行界面執行如下命令:[4]
man <command_name>
#範例:查詢 cal(calendar) 指令用法。
[user101@twfo-mdc ~]$ man cal
CAL(1) BSD General Commands Manual CAL(1)
NAME
cal - displays a calendar
SYNOPSIS
cal [-smjy13] [[month] year]
DESCRIPTION
Cal displays a simple calendar. If arguments are not specified, the cur-
rent month is displayed. The options are as follows:
-1 Display single month output. (This is the default.)
-3 Display prev/current/next month output.
-s Display Sunday as the first day of the week. (This is the
default.)
-m Display Monday as the first day of the week.
-j Display Julian dates (days one-based, numbered from January 1).
q -y Display a calendar for the current year.
A single parameter specifies the year (1 - 9999) to be displayed; note
the year must be fully specified: “cal 89” will not display a calendar
for 1989. Two parameters denote the month (1 - 12) and year. If no
parameters are specified, the current month's calendar is displayed.
A year starts on Jan 1.
The Gregorian Reformation is assumed to have occurred in 1752 on the 3rd
of September. By this time, most countries had recognized the reforma-
tion (although a few did not recognize it until the early 1900's.) Ten
days following that date were eliminated by the reformation, so the cal-
endar for that month is a bit unusual.
HISTORY
A cal command appeared in Version 6 AT&T UNIX.
OTHER VERSIONS
Several much more elaborate versions of this program exist, with support
for colors, holidays, birthdays, reminders and appointments, etc. For
example, try the cal from http://home.sprynet.com/~cbagwell/projects.html
or GNU gcal.
BSD June 6, 1993 BSD
例如,「man ftp」。為了方便用戶查閱輸出的信息,man命令一般會提供一個Less終端機分頁檢視程式。
按慣例,man頁面可以按照「程序名(區段)」的標記來查閱:例如系統調用、用戶命令或Troff[註 1]中重複出現的時候。比如 與 ,以及 與 。
。相同的手冊頁標記可能出現在多個不同的區段(section)中,例如相同的名字在訪問非默認手冊頁區段的語法在不同的軟件實現中是不一樣的。例如,在Solaris中,閱讀 的語法為:
man -s 3c printf
在Linux和類BSD系統中,相同的命令語法為:
man 3 printf
此命令在手冊頁的第3區段中搜尋「printf」的信息。
歷史
編輯《UNIX程序員手冊 (頁面存檔備份,存於網際網路檔案館)》1971年11月3日第一次出版。1971年,在主管道格拉斯·麥克羅伊的堅持下,丹尼斯·里奇和肯·湯普遜編寫了第一份實際意義上的手冊頁。除了手冊頁,《UNIX程序員手冊》還彙整了一些簡短的論文,其中一部分是教程(例如Unix的一般用法、C語言,以及Yacc等工具),另一部分是對操作系統功能的更詳細的說明。手冊的印刷版最初裝在一個活頁夾中,但PWB/UNIX和Research Unix第七版的手冊被分為兩卷,印刷版的手冊頁成為了其第1卷。[5]
Unix或類Unix作業系統手冊頁是用troff軟件包排版的,是一組-man
巨集。當時,手冊頁系統帶來的聯機文檔可用性被認為是一項偉大的進步。時至今日,幾乎所有的Unix命令行應用程序都附帶了手冊頁,而很多Unix用戶將缺少手冊頁視為低質量應用程序的一個標誌。事實上,有些項目(如Debian)不辭勞苦的為缺乏手冊頁的應用編寫手冊頁;4.4BSD的現代繼任者也將手冊頁作為系統文檔的主要形式之一(將舊的-man
巨集用新的-mdoc
巨集取代)[註 2]。
幾乎沒有什麼替代品能像man
那樣流行,只有GNU計劃的info
系統[註 3]可能是個例外。]
此外,一些Unix圖形用戶界面應用程序(尤其是那些使用GNOME和KDE開發環境構建的)現在提供的HTML版本的最終用戶手冊,並包含內嵌的HTML閱讀器,如Yelp
,以供閱讀應用程序中的幫助文檔。
Unix或類Unix作業系統手冊頁通常是用英文寫的,在某些系統上可能有翻譯成其他語言的版本。
手冊頁的默認格式是troff,使用-man
巨集軟件包(着重展現)或-mdoc
mandoc巨集軟件包(着重語義)。可以把手冊頁排版成PostScript、PDF和其他各種格式進行查看或打印。
大多數Unix系統有一個man2html命令的軟件包,該命令允許用戶使用HTML瀏覽器瀏覽手冊頁(例如,FreeBSD的textproc/man2html,或某些Linux發行版中的man)。
手冊區段
編輯在Research Unix、BSD、OS X和Linux中,手冊通常被分為8個區段,安排如下:
區段 | 說明 |
---|---|
1 | 一般命令 |
2 | 系統調用 |
3 | 庫函數,涵蓋C標準函數庫 |
4 | 特殊文件(通常是/dev中的設備)和驅動程序 |
5 | 檔案格式和約定 |
6 | 電子遊戲和螢幕保護裝置 |
7 | 雜項 |
8 | 系統管理命令和守護進程 |
Unix System V採用了類似的編號方案,但順序不同:
區段 | 說明 |
---|---|
1 | 一般命令 |
1M | 系統管理命令和守護進程 |
2 | 系統調用 |
3 | C函數庫函數 |
4 | 檔案格式和約定 |
5 | 雜項 |
6 | 電子遊戲和螢幕保護裝置 |
7 | 特殊文件(通常是/dev中的設備)和驅動程序 |
在某些系統中還有下述的區段可用:
區段 | 描述 |
---|---|
0 | C函數庫頭文件 |
9 | 內核例程 |
n | Tcl/Tk關鍵字 |
x | X Window系統 |
一些區段利用後綴進一步細分了。例如在一些系統中,區段3C是C函數庫調用,3M是數學(Math)函數庫,等等。這樣做的結果是區段8(系統管理命令)有時也被移動到區段1M(作為命令區段的子區段)。一些子區段後綴有跨區段的一般含義:
子區段 | 說明 |
---|---|
p | POSIX規範 |
x | X Window系統文檔 |
布局
編輯所有的手冊頁遵循一個常見的布局,其為通過簡單的ASCII文本展示而優化,而這種情況下可能沒有任何形式的高亮或字體控制。一般包括以下部分內容:
- NAME(名稱)
- 該命令或函數的名稱,接着是一行簡介。
- SYNOPSIS(概要)
- 對於命令,正式的描述它如何運行,以及需要什麼樣的命令行參數。對於函數,介紹函數所需的參數,以及哪個頭文件包含該函數的定義。
- DESCRIPTION(說明)
- 命令或函數功能的文本描述。
- EXAMPLES(示例)
- 常用的一些示例。
- SEE ALSO(參見)
- 相關命令或函數的列表。
也可能存在其他部分內容,但這些部分沒有得到跨手冊頁的標準化。常見的例子包括:OPTIONS(選項),EXIT STATUS(退出狀態),ENVIRONMENT(環境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(歷史)和COPYRIGHT(版權)。
使用在線手冊
編輯備註
編輯參見
編輯- Unix實用程序列表
- 九號計劃應用程序列表
- info (Unix)
- RTFM
- ManOpen - NeXT/OS X圖形化man實用程序
參考文獻
編輯- ^ man page. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-03-29).
- ^ 中文 man 手册页计划. man-pages-zh. 2023-10-31 [2023-11-03]. (原始內容存檔於2023-11-27).
- ^ 簡介. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-11-03).
- ^ 命令列基本操作. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-03-29).
- ^ Darwin, Ian; Collyer, Geoffrey. UNIX Evolution: 1975-1984 Part I - Diversity. [2012-12-22]. (原始內容存檔於2012-07-17). Originally published in Microsystems 5(11), November 1984.
外部連結
編輯- History of UNIX Manpages (頁面存檔備份,存於網際網路檔案館) for a primary-source history of UNIX manpages.