man 指令使用手冊
**手册页**（英語：，**Manual pages**的縮寫）是指在Unix或類Unix作業系統中**查詢指令使用手冊**，使用者可以執行`man`命令查詢指令用法。簡體中文直譯為，臺灣正體中文翻譯為**使用手冊**、**線上手冊**。在Unix或類Unix操作系统中有非常多的指令，通常使用者（甚至是資深的系統管理者）都無法記住每個指令的詳細使用方式，尤其是那些有非常多參數可以用的指令，就算是天天在用的`-ls`，可能也不是很清楚它所有的參數如何使用。所幸一般 UNIX/Linux 系統中的指令都會附帶相關的線上說明手冊（Manual pages，簡稱 man page），提供使用者查詢與參考，内容包括计算机程序（库和系统调用）。

用法
--

为查阅某个Unix命令的手册页，用户可以在命令行界面执行如下命令：

```
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页面可以按照"程序名(区段)"的标记来查阅：例如`ftp`。相同的手册页标记可能出现在多个不同的区段（section）中，例如相同的名字在系统调用、用户命令或Troff中重复出现的时候。比如`man`与 `man`，以及`exit`与`exit`。

访问非默认手册页区段的语法在不同的软件实现中是不一样的。例如，在Solaris中，阅读`printf`的语法为：

```
man -s 3c printf

```

在Linux和类BSD系统中，相同的命令语法为：

```
man 3 printf

```

此命令在手册页的第3区段中搜寻"printf"的信息。

历史
--

*xman*，一个早期的X11应用，用于查看手册页
在文本控制台中显示的OpenBSD intro第8区段的手册页
《UNIX程序员手册 （页面存档备份，存于）》1971年11月3日第一次出版。1971年，在主管道格拉斯·麥克羅伊的坚持下，丹尼斯·里奇和肯·汤普逊编写了第一份实际意义上的手册页。除了手册页，《UNIX程序员手册》还彙整了一些简短的论文，其中一部分是教程（英语：）（例如Unix的一般用法、C语言，以及Yacc等工具），另一部分是对操作系统功能的更详细的说明。手册的印刷版最初装在一个活页夹中，但PWB/UNIX（英语：）和Research Unix第七版的手册被分为两卷，印刷版的手册页成为了其第1卷。

Unix或類Unix作業系統手册页是用troff软件包排版的，是一组`-man`巨集。当时，手册页系统带来的联机文档可用性被认为是一项伟大的进步。时至今日，几乎所有的Unix命令行应用程序都附带了手册页，而很多Unix用户将缺少手册页视为低质量应用程序的一个标志。事实上，有些项目（如Debian）不辞劳苦的为缺乏手册页的应用编写手册页；4.4BSD的现代继任者也将手册页作为系统文档的主要形式之一（将旧的`-man`巨集用新的`-mdoc`巨集取代）。

几乎没有什么替代品能像`man`那样流行，只有GNU計劃的`info（英语：）`系统可能是个例外。]
此外，一些Unix图形用户界面应用程序（尤其是那些使用GNOME和KDE开发环境构建的）现在提供的HTML版本的最终用户手册，并包含内嵌的HTML阅读器，如`Yelp`，以供阅读应用程序中的帮助文档。

Unix或類Unix作業系統手册页通常是用英文写的，在某些系统上可能有翻译成其他语言的版本。

手册页的默认格式是troff，使用`-man`巨集软件包（英语：）（着重展现）或`-mdoc`mandoc（英语：）巨集软件包（着重语义）。可以把手册页排版成PostScript、PDF和其他各种格式进行查看或打印。

大多数Unix系统有一个man2html命令的软件包，该命令允许用户使用HTML浏览器浏览手册页（例如，FreeBSD的textproc/man2html，或某些Linux发行版中的man）。

2010年，OpenBSD宣布淘汰troff，改用mandoc（英语：）展示手册页。

手册区段
----

在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（版权）。

使用在线手册
------

参考：archlinux社区的使用在线手册 （页面存档备份，存于）

備註
--

1. ↑  原編輯譯名用『宏软件包』,因為「巨集」（英語：Macro）的中國大陸常用別名是「宏」
2. ↑  「宏」是「巨集」（英語：Macro）的中國大陸常用別名
3. ↑  Texinfo是一个早期的、简单的超文本系统。
4. ↑  **mandoc**是专用于手册页的编译器/格式化程序，原生支持输出到PostScript、HTML、XHTML和终端。

参见
--

* Unix实用程序列表
* 九号计划应用程序列表（英语：）
* info (Unix)（英语：）
* RTFM
* ManOpen（英语：） - NeXT/OS X图形化man实用程序

参考文献
----

1. ↑ . dywang.csie.cyut.edu.tw.  [2023-11-03].
2. ↑ . man-pages-zh. 2023-10-31  [2023-11-03].
3. ↑ . dywang.csie.cyut.edu.tw.  [2023-11-03].
4. ↑ . dywang.csie.cyut.edu.tw.  [2023-11-03].
5. ↑  Darwin, Ian; Collyer, Geoffrey..  [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.

   

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| * 
* 论
* 编
Unix命令行程序和shell内建命令 |
| --- |
|  |
| 文件系統 | 
* cat
* cd
* chmod
* chown
* chgrp
* cksum
* cmp
* cp
* dd
* du
* df
* file
* fsck
* fuser
* ln
* ls
* mkdir
* mount
* mv
* pax（英语：）
* pwd
* rm
* rmdir
* size
* split
* stat
* tee
* touch
* type（英语：）
* umask（英语：）

 |
|  |
| 程序 | 
* at
* bg
* chroot
* cron
* fg
* kill
* killall（英语：）
* nice
* pgrep
* pkill（英语：）
* ps
* pstree（英语：）
* time
* top

 |
|  |
| 用户环境 | 
* clear
* env
* exit
* history（英语：）
* id
* logname
* mesg（英语：）
* passwd
* su
* sudo
* uptime
* talk（英语：）
* tput（英语：）
* uname
* w
* wall（英语：）
* who
* whoami
* write（英语：）

 |
|  |
| 文本编辑 | 
* awk
* banner（英语：）
* basename
* comm（英语：）
* csplit（英语：）
* cut
* diff
* dirname
* ed
* ex
* fmt（英语：）
* fold（英语：）
* head（英语：）
* iconv
* join（英语：）
* less
* more
* nl（英语：）
* paste（英语：）
* sed
* sort（英语：）
* spell（英语：）
* strings（英语：）
* tail
* tr
* uniq（英语：）
* vi
* wc
* xargs

 |
|  |
| 壳层内建 | 
* alias
* echo
* printf格式字符串
* test（英语：）
* unset
* wait

 |
|  |
| 网络 | 
* dig
* host
* ifconfig
* inetd（英语：）
* netcat
* netstat
* nslookup
* ping
* rdate（英语：）
* rlogin（英语：）
* route
* ssh
* traceroute

 |
|  |
| 查找 | 
* find
* grep
* locate
* whatis（英语：）
* whereis

 |
|  |
| 文档 | 
* apropos（英语：）
* help（英语：）
* man

 |
|  |
| 软件开发 | 
* ar
* ctags
* lex
* make
* nm
* strip
* yacc

 |
|  |
| 杂项 | 
* bc
* cal
* dc
* expr
* lp（英语：）
* lpr
* sleep
* true和false
* yes

 |
|  |
| Unix实用程序列表 |

 |