linux系统管理(1)---man

一、目的

    在linux的使用过程中,如果忘记某个命令的使用方法或者某个接口函数的定义,我们一般都会使用man命令;manmanual的缩写,man命令是linux在线帮助文档的接口;熟练掌握man命令可以帮助我们提升使用linux的能力。

    本文将详细介绍man命令的使用方法相关内容。


二、pagersection

    在介绍man之前先理解两个概念:pagersection

    pager是程序、函数的名称,也就是待查找的程序或者函数的名称。例如:ls(程序)mkdir(函数)

    section是帮助文档的分类,每个类别描述特定内容的帮助信息,目前共有8section,每个section的含义如下:

    section1、用户程序;

    section2、系统调用;

    section3、库函数调用;

    section4、特定文件(通常位于/dev目录下)

    section5、文件格式;

    section6、游戏;

    section7、其他项;

    section8、系统管理;

    一个pager可能在多个section中有描述,例如:mkdir既是程序也是系统调用,因此section1section2中都mkdir的描述。section1侧重描述mkdir程序的使用方法,而section2侧重描述mkdir行参和返回值的含义。

    通常情况,帮助文档放在/usr/share/man目录下,section1-section8分别存放在man1-man88个目录中;为了节省磁盘空间,存放的都是压缩格式的帮助文档。MANPATH环境变量指定了帮助文档存放的路径,并且使用manpath命令也可以显示存放路径。

    如果一个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 / .)


四、查找原理

    帮助文档有两种格式:文本文件和压缩文件,压缩文件是文本文件经过压缩后得到的。通常,压缩文件存储在/usr/share/man路径下;文件文件存储在/var/cache/man路径下,但是,也可以不存储文本文件。

    为了提高查找效率,系统使用mandb命令把帮助文档建立了一个索引文件index.db;通常索引文件存储在/var/cache/man路径下。在使用man命令查找pager的帮助文档时,首先在索引文件中查找;如果查找不到,再去帮助文档的存储路径下查找。


五、常用man命令选项

    man命令的语法简单描述为:man[option] [section] pager...

    option可以在命令行中指定,也可以在MANOPT环境变量中设置,并且MANOPT环境变量的优先级高于命令行,-D可以关闭MANOPT中的选项。

    1-f选项:显示全字符匹配pager名称的概要(synopsis)内容,相当于whatis命令;

    2-k选项:显示部分匹配pager名称的概要(synopsis)的内容,相当于apropos命令;

    3-K选项:显示包含pager关键字的帮助文档;

    4-l选项:显示本地帮助文档,而不是系统默认的帮助文档;

    5-w选项:显示帮助文档(压缩格式)的路径;

    6-W选项:显示帮助文档(文本格式)的路径;

    7-I选项:pager大小写敏感;

    8-a选项:显示所有section中的帮助文档;

    9-m OS选项:显示指定操作系统OS的帮助文档;

    10-M path选项:显示指定路径path的帮助文档;


六、总结

    man命令是linux在线帮助文档的入口,灵活掌握man可以帮助解决linux环境下遇到的大多数问题。通过使用man命令也可以增强独立解决问题的能力,最终很大程度上提升使用linux的能力。


版权声明:

    原创作品,如非商业性转载,请注明出处;如商业性转载出版,请与作者联系。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章