線上手冊
此條目可參照英語維基百科相應條目來擴充。 (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.