网站开发定制推广杭州,上海网站seoseodian,网站用户注册增加办法,鹤壁网站优化man这个命令为什么功能这么神奇#xff0c;能够这么方便快捷索引出系统帮助信息#xff0c;其它与它的一个配置文件分不开。我们看一下它配置文件。 1 2 3 4 5 6 7[chengmocentos5 ~]$man -fman man (1) -format and display the on-line manual pages man… man这个命令为什么功能这么神奇能够这么方便快捷索引出系统帮助信息其它与它的一个配置文件分不开。我们看一下它配置文件。 1 2 3 4 5 6 7[chengmocentos5 ~]$man -fman man (1) -format and display the on-line manual pages man (1p) - display system documentation man (7) - macros toformat man pages man (rpm) - Aset of documentation tools:man,apropos and whatis. man-pages (rpm) - Man (manual) pages from the Linux Documentation Project. man.config [man] (5) - configuration datafor man 通过该命令我们索引到所有与man有关的手册页了。 根据前面提到的领域设置类型(1)是man命令说明(7)man文件使用的宏格式规定下面有一个man.config (5) 就是man的配置文件了。 读取man.config文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39[wangslcentos5 ~]$cat /etc/man.config |grep -v ^# FHS MANPATH/usr/man MANPATH/usr/share/man MANPATH/usr/local/man MANPATH/usr/local/share/man MANPATH/usr/X11R6/man MANPATH_MAP/bin /usr/share/man MANPATH_MAP/sbin /usr/share/man MANPATH_MAP/usr/bin /usr/share/man MANPATH_MAP/usr/sbin /usr/share/man MANPATH_MAP/usr/local/bin /usr/local/share/man MANPATH_MAP/usr/local/sbin /usr/local/share/man MANPATH_MAP/usr/X11R6/bin /usr/X11R6/man MANPATH_MAP/usr/bin/X11 /usr/X11R6/man MANPATH_MAP/usr/bin/mh /usr/share/man TROFF/usr/bin/groff -Tps -mandoc NROFF/usr/bin/nroff -c --legacy NROFF_OLD_CHARSET -mandoc 2/dev/null EQN/usr/bin/geqn -Tps NEQN/usr/bin/geqn -Tutf8 TBL/usr/bin/gtbl REFER/usr/bin/grefer PIC/usr/bin/gpic VGRIND GRAP PAGER/usr/bin/less -is BROWSER/usr/bin/less -is HTMLPAGER/bin/cat CAT/bin/cat CMP/usr/bin/cmp -s COMPRESS/usr/bin/bzip2 COMPRESS_EXT .bz2 MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x .gz/usr/bin/gunzip -c .bz2/usr/bin/bzip2 -c -d .z .Z/bin/zcat .F .Y 配置文件分类 MANPATH 关键字 指定手册默认存放路径man启动就会在这些目录中索引手册页可以通过添加一行MANPATH /home/chengmo/man 指定加入自己的手册路径通过man -M可以添加自己的手册路径 MANPATH_MAP关键字 指定帮助手册与命令对应目录如果自己增加搜索目录这里需要增加对应方式 格式化手册页输出 linux系统手册页大家在看到时候有高亮然后还有加粗下划线倾斜空行等固定格式。其实这些在本来的手册页文件里面只是保存为一系列的代号。大家不妨解压个gz手册文件然后通过cat查看下内容。你会发现显示里面有如下内容中(点开头然后一系列数字而且整个页面显示杂乱无章跟我们man看到完全不一样)其它这些代号对应是linux文件里面的宏指令代码如 .B 粗体 .BI 粗体跟斜体 .BR 粗体跟正体 .I 斜体 .IB 斜体跟粗体 .IR 斜体跟正体 .RB 正体跟粗体 .RI 正体跟斜体 .SM 小(缩放到正常大小的9/10) .SB 小跟黑体(所跟的黑体不会缩小) 如果不清楚这个关系把这些宏指令比拟为html语言一些标签在记事本中打开大家都看不明白但是如果用ie查看。就一目了然了。 这些宏指令在显示时候必须通过一系列命令做格式转换这里必须提到是groff系列命令(它的工作有点像IE) groff简介 Groff (GNU Troff) 是 Troff 的最新开放源码实现Troff 是从相同的输入源为各种设备生成打印和屏幕文档的一种文档格式化输出系统。 Groff 是一种用于格式化输出文档的编程语言。它由一套工具组成而不是单个的应用程序groff 工具是使用这些工具的前端。其中包括处理特殊的输入文本的预处理器、用于处理输入的称为 troff 的主排版引擎、以及将 troff 的输出转换为打印和屏幕输出的各种格式的后处理器。 您可以在文本编辑器中编写输入或者从程序生成输入无论采用哪种方式文档的编写过程都发生在 Groff 系统之外。文档使用纯文本进行编写并使用 Groff 语言进行标记后者指定了文档的格式和外观(请参见为 Groff 编写输入部分)。然后将该输入文本发送到 Groff以便对其进行处理从而获得所需的输出。 Groff包含几个处理文本格式的程序。Groff把标准的文本和特殊的命令翻译成格式化的输出像你在 man 手册页里看到的那样。 安装下列程序: addftinfo, afmtodit, eqn, eqn2graph, geqn (link to eqn), grn, grodvi, groff, groffer, grog, grolbp, grolj4, grops, grotty, gtbl (link to tbl), hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, pic2graph, post-grohtml, pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to soelim) 这里只是解析man.config常见的解析命令 gpic 将内嵌于troff或者TeX输入文件中的图像编译成troff或者TeX理解的指令。 gtbl 实现table表格输出。 neqn 将方程格式化使其成为适应ASCII输出的脚本如果文档要表示一些数字开方根号之类需要它了 refer 将一个文件拷贝到标准输出,并丢弃.[和.]之间作为引用的内容和在.R1和.R2之间解释如何处理这些引用的命令。 troff groff依照合适的顺序并使用合适的参数来执行预处理程序和后处理程序。 PAGER、BROWSER、HTMLPAGER 分别制定最终标准手册页HTML手册页HTML as TXT手册页 由那个程序显示。其实基本都是交给了less这个作为手册页显示程序。当我们打开了手册页后对它进行翻页查找等操作其实就是运用less 程序快捷键完成的。如果命令行man –[PBH] 可以对当前索引分别用新的程序覆盖系统设置。 COMPRESS,COMPRESS_EXT 设置压缩文件已经压缩文件生成扩展名如果需要将手册输出其它格式时候会用到 MANSECT 指定man 搜索手册目录顺序假设设置是 mansect 1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x 如果直接man command1 它将按照这里指定的顺序查找手册页先是man1,然后man1p…… 直到找到一个页面就停止搜索。除非加了-a 参数。如果调用man -S 1:1p 是可以覆盖这项设置的 .gz .bz2 这个是如果手册页面是这里程序的用什么程序进行解压。 我们还记得上次man -d 的参数吧运行最后会输入一个脚本 (cd /usr/share/man (echo .ll 11.8i; echo .nr LL 11.8i; echo .pl 1100i; /usr/bin/gunzip -c /usr/share/man/man1/man.1.gz; echo .\\\; echo .pl \n(nlu10) | /usr/bin/gtbl | /usr/bin/nroff -c --legacy ISO-8859-1 -mandoc 2/dev/null | /usr/bin/less -is) 其实这个才是man命令执行后 通过各个格式化指令组合最终shell脚本运行的命令。 突然想到一个问题man之所以强大与它的松散配置分不开它只是实现了搜索查找而解压由gunzip,格式化是由groff处理显示有less处理。 说到这里man好像都说完了对了显示的页面怎么操作呢接下来我们在看看,less常用命令