手册页

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP







man的手册页


手册页英语:Manual pages,缩写man page)是在Unix或类Unix操作系统在线软件文档的一种普遍的形式。
内容包括计算机程序(包括库和系统调用),正式的标准和惯例,甚至是抽象的概念。用户可以通过执行man命令调用手册页。




目录





  • 1 用法


  • 2 历史


  • 3 手册区段


  • 4 布局


  • 5 参见


  • 6 参考文献


  • 7 外部链接




用法


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


man <command_name>

例如,“man ftp”。为了方便用户查阅输出的信息,man命令一般会提供一个Less英语Less (Unix)终端分页器英语Terminal pager


按惯例,man页面可以按照“程序名(区段)”的标记来查阅:例如ftp。相同的手册页标记可能出现在多个不同的区段(section)中,例如相同的名字在系统调用、用户命令或宏软件包中重复出现的时候。比如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/UNIX和Research Unix第七版的手册被分为两卷,印刷版的手册页成为了其第1卷。[1]


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


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


手册页通常是用英文写的,在某些系统上可能有翻译成其他语言的版本。


手册页的默认格式是troff,使用man宏软件包英语Troff macros(着重展现)或mdoc宏软件包(着重语义)。可以把手册页排版成PostScript、PDF和其他各种格式进行查看或打印。


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


2010年,OpenBSD宣布淘汰troff,改用mandoc英语mandoc[3]展示手册页。



手册区段


在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(示例)

常用的一些示例。

SEA ALSO(参见)

相关命令或函数的列表。

也可能存在其他部分内容,但这些部分没有得到跨手册页的标准化。常见的例子包括:OPTIONS(选项),EXIT STATUS(退出状态),ENVIRONMENT(环境),BUGS(程序漏洞),FILES(文件),AUTHOR(作者),REPORTING BUGS(已知漏洞),HISTORY(历史)和COPYRIGHT(版权)。



参见


  • Unix实用程序列表

  • 九号计划应用程序列表英语List of Plan 9 applications

  • info (Unix)英语info (Unix)

  • RTFM


  • ManOpen英语ManOpen - NeXT/OS X图形化man实用程序


参考文献




  1. ^ Darwin, Ian; Collyer, Geoffrey. UNIX Evolution: 1975-1984 Part I - Diversity. [2012-12-22].  Originally published in Microsystems 5(11), November 1984.


  2. ^ 一个早期的、简单的超文本系统。


  3. ^ mandoc是专用于手册页的编译器/格式化程序,原生支持输出到PostScript、HTML、XHTML和终端。



外部链接



  • History of UNIX Manpages for a primary-source history of UNIX manpages.

Popular posts from this blog

The Dalles, Oregon

眉山市

清晰法令