在linux的使用过程中,如果忘记某个命令的使用方法或者某个接口函数的定义,我们一般都会使用man命令;man是manual的缩写,man命令是linux在线帮助文档的接口;熟练掌握man命令可以帮助我们提升使用linux的能力。
本文将详细介绍man命令的使用方法相关内容。
在介绍man之前先理解两个概念:pager和section。
pager是程序、函数的名称,也就是待查找的程序或者函数的名称。例如:ls(程序)、mkdir(函数)。
section是帮助文档的分类,每个类别描述特定内容的帮助信息,目前共有8个section,每个section的含义如下:
section1、用户程序;
section2、系统调用;
section3、库函数调用;
section4、特定文件(通常位于/dev目录下);
section5、文件格式;
section6、游戏;
section7、其他项;
section8、系统管理;
一个pager可能在多个section中有描述,例如:mkdir既是程序也是系统调用,因此section1和section2中都mkdir的描述。section1侧重描述mkdir程序的使用方法,而section2侧重描述mkdir行参和返回值的含义。
通常情况,帮助文档放在/usr/share/man目录下,section1-section8分别存放在man1-man8这8个目录中;为了节省磁盘空间,存放的都是压缩格式的帮助文档。
如果一个pager在多个section中有描述的话,默认显示查找到的第一个section的帮助文档;如果想要查看指定section的帮助文档,可以在man的命令行选项中指定section号,例如:man 2 mkdir;如果需要查看所有section的帮助文档,可以使用-a选项,例如:man -a mkdir。
每个section中的帮助文档一般包含以下内容:
1、名字(name):名称及简单描述;
2、概要(synopsis):语法的完整性描述;
3、配置信息(configuration):配置信息;
4、描述(description):pager的描述;
5、选项(options):命令行选项的详细信息;
6、退出值(exit status):命令退出值;
7、返回值(return value):函数返回值;
8、错误(errors):错误描述;
9、环境变量(environment):命令相关的环境变量;
10、文件(files):相关的文件信息,例如配置文件;
11、版本(versions):版本信息;
12、遵循规则(conforming to):遵循规则描述;
13、提示信息(notes):使用提示信息;
14、漏洞(bugs):已知缺陷描述;
15、示例(example):使用样例;
16、作者(authors):作者列表;
17、参阅(see also):相关pager列表;
以上只是建议的文档组织结构,不需要实现全部的内容,也不需要完全按照顺序编写;同时,作者也可以根据自己的需要增加自定义的章节,例如历史信息(history)、版权(copyright)等。
在帮助文档的概述(synopsis)中,通常粗体表示重点内容;斜体表示使用合适的参数替换;[-abc]表示所有选项都是可选的;-a|-b表示-a和-b选项不能同时使用;...表示可以是多个内容,例如:man...表示可以pager可以是多个(man ls mkdir);同样,find[path...]表示path可以是多个(find / .)。
man命令的语法简单描述为:man[option] [section] pager...
1、-a选项:man默认显示查找到的第一个section中的帮助文档,使用-a可以显示所有section中的帮助文档;
2、-w选项:显示查找到的第一个section中帮助文档的路径;配合-a可以显示所有section中帮助文档的路径;
3、-f选项:显示全字符匹配pager名称的帮助文档中概要(synopsis)的内容;
4、-k选项:显示部分匹配pager名称的帮助文档中概要(synopsis)的内容;
-f和-k两者之间的差异为:-f只显示全字符匹配pager的概要内容,而-k显示部分匹配pager的概要内容,举个例子就清楚两者之间的差异了:
(未完待续...)
man命令是linux在线帮助文档的入口,灵活掌握man可以帮助解决linux环境下遇到的大多数问题。通过使用man命令也可以增强独立解决问题的能力,最终很大程度上提升使用linux的能力。
原创作品,如非商业性转载,请注明出处;如商业性转载出版,请与作者联系。
原文:http://blog.csdn.net/luomoweilan/article/details/19018019