手冊頁

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書
man 指令使用手冊

手冊頁(英語:man pageManual pages的縮寫)是指在Unix或類Unix作業系統中查詢指令使用手冊,使用者可以執行man命令查詢指令用法。簡體中文直譯為手册页,臺灣正體中文翻譯為使用手冊線上手冊。在Unix類Unix操作系統中有非常多的指令,通常使用者(甚至是資深的系統管理者)都無法記住每個指令的詳細使用方式,尤其是那些有非常多參數可以用的指令,就算是天天在用的-ls,可能也不是很清楚它所有的參數如何使用。所幸一般 UNIX/Linux 系統中的指令都會附帶相關的線上說明手冊(Manual pages,簡稱 man page),提供使用者查詢與參考,內容包括計算機程序系統調用)。[1][2][3]


用法[編輯]

為查閱某個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終端機分頁檢視程式英語Terminal pager

按慣例,man頁面可以按照「程序名(區段)」的標記來查閱:例如ftp。相同的手冊頁標記可能出現在多個不同的區段(section)中,例如相同的名字在系統調用、用戶命令Troff[註 1]中重複出現的時候。比如manman,以及exitexit

訪問非默認手冊頁區段的語法在不同的軟件實現中是不一樣的。例如,在Solaris中,閱讀printf的語法為:

man -s 3c printf

Linux和類BSD系統中,相同的命令語法為:

man 3 printf

此命令在手冊頁的第3區段中搜尋「printf」的信息。


歷史[編輯]

xman,一個早期的X11應用,用於查看手冊頁
在文本控制台中顯示的OpenBSD intro第8區段的手冊頁

UNIX程序員手冊頁面存檔備份,存於網際網路檔案館)》1971年11月3日第一次出版。1971年,在主管道格拉斯·麥克羅伊的堅持下,丹尼斯·里奇肯·湯普遜編寫了第一份實際意義上的手冊頁。除了手冊頁,《UNIX程序員手冊》還彙整了一些簡短的論文,其中一部分是教程英語Tutorial(例如Unix的一般用法、C語言,以及Yacc等工具),另一部分是對操作系統功能的更詳細的說明。手冊的印刷版最初裝在一個活頁夾中,但PWB/UNIX英語PWB/UNIXResearch Unix第七版的手冊被分為兩卷,印刷版的手冊頁成為了其第1卷。[5]

Unix或類Unix作業系統手冊頁是用troff軟件包排版的,是一組-man巨集。當時,手冊頁系統帶來的聯機文檔可用性被認為是一項偉大的進步。時至今日,幾乎所有的Unix命令行應用程序都附帶了手冊頁,而很多Unix用戶將缺少手冊頁視為低質量應用程序的一個標誌。事實上,有些項目(如Debian)不辭勞苦的為缺乏手冊頁的應用編寫手冊頁;4.4BSD的現代繼任者也將手冊頁作為系統文檔的主要形式之一(將舊的-man巨集用新的-mdoc巨集取代)[註 2]

幾乎沒有什麼替代品能像man那樣流行,只有GNU計劃info英語Texinfo系統[註 3]可能是個例外。] 此外,一些Unix圖形用戶界面應用程序(尤其是那些使用GNOMEKDE開發環境構建的)現在提供的HTML版本的最終用戶手冊,並包含內嵌的HTML閱讀器,如Yelp,以供閱讀應用程序中的幫助文檔。

Unix或類Unix作業系統手冊頁通常是用英文寫的,在某些系統上可能有翻譯成其他語言的版本。

手冊頁的默認格式是troff,使用-man巨集軟件包英語Troff macros(着重展現)或-mdocmandoc英語mandoc巨集軟件包(着重語義)。可以把手冊頁排版成PostScriptPDF和其他各種格式進行查看或打印。

大多數Unix系統有一個man2html命令的軟件包,該命令允許用戶使用HTML瀏覽器瀏覽手冊頁(例如,FreeBSD的textproc/man2html,或某些Linux發行版中的man)。

2010年,OpenBSD宣布淘汰troff,改用mandoc英語mandoc[註 4]展示手冊頁。

手冊區段[編輯]

Research UnixBSDOS XLinux中,手冊通常被分為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(版權)。

使用在線手冊[編輯]

參考:archlinux社區的使用在線手冊頁面存檔備份,存於網際網路檔案館

備註[編輯]

  1. ^ 原編輯譯名用『宏軟件包』,因為「巨集」(英語:Macro)的中國大陸常用別名是「宏」
  2. ^ 「宏」是「巨集」(英語:Macro)的中國大陸常用別名
  3. ^ Texinfo是一個早期的、簡單的超文本系統。
  4. ^ mandoc是專用於手冊頁的編譯器/格式化程序,原生支持輸出到PostScriptHTMLXHTML終端

參見[編輯]

參考文獻[編輯]

  1. ^ man page. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-03-29). 
  2. ^ 中文 man 手册页计划. man-pages-zh. 2023-10-31 [2023-11-03]. (原始內容存檔於2023-11-27). 
  3. ^ 簡介. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-11-03). 
  4. ^ 命令列基本操作. dywang.csie.cyut.edu.tw. [2023-11-03]. (原始內容存檔於2023-03-29). 
  5. ^ 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.

外部連結[編輯]