手冊頁

出自Local Chinese Wikipedia
(重新導向自Man page
跳至導覽 跳至搜尋

Template:Expand language package.lua第80行Lua錯誤:module 'Module:Arguments' not found

File:Man page on Linux screenshot.png
man 指令使用手冊

手冊頁Template:LangxManual 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腳本錯誤:沒有「ilh」這個模塊。

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

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

man -s 3c printf

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

man 3 printf

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

歷史[編輯]

File:Screenshot of "Xman" program.png
xman,一個早期的X11應用,用於查看手冊頁
File:OpenBSD Manpages Section 8 Intro.png
在文本控制台中顯示的OpenBSD intro第8區段的手冊頁

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

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

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

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

手冊頁的默認格式是troff,使用man腳本錯誤:沒有「ilh」這個模塊。(着重展現)或mdoc腳本錯誤:沒有「ilh」這個模塊。巨集軟件包(着重語義)。可以把手冊頁排版成PostScriptPDF和其他各種格式進行查看或打印。

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

2010年,OpenBSD宣佈淘汰troff,改用腳本錯誤:沒有「ilh」這個模塊。[註 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終端

參見[編輯]

  • Unix實用程序列表
  • 腳本錯誤:沒有「ilh」這個模塊。
  • 腳本錯誤:沒有「ilh」這個模塊。
  • RTFM
  • 腳本錯誤:沒有「ilh」這個模塊。 - NeXT/OS X圖形化man實用程序

參考文獻[編輯]

  1. 腳本錯誤:沒有「citation/CS1」這個模塊。
  2. 腳本錯誤:沒有「citation/CS1」這個模塊。
  3. 腳本錯誤:沒有「citation/CS1」這個模塊。
  4. 腳本錯誤:沒有「citation/CS1」這個模塊。
  5. 腳本錯誤:沒有「citation/CS1」這個模塊。 Originally published in Microsystems 5(11), November 1984.

外部連結[編輯]

package.lua第80行Lua錯誤:module 'Module:Arguments' not found