Linux-菜鸟入门自学 (二)

在线求助 man page   http://cn.linux.vbird.org/linux_basic/0160startlinux_3.php

man page

嗄?不知道怎么使用date这个命令?嘿嘿!不要担心,我们Linux上面的在线求助系统已经都帮你想好要怎么办了, 所以你只要使用简单的方法去寻找一下说明的内容,马上就清清楚楚的知道该命令的用法了!怎么看呢?就是找男人(man) 呀!喔!不是啦!这个man是manual(操作说明)的简写啦!只要下达:『man date』 马上就会有清楚的说明出现在你面前喔!如下所示:

[vbird@www ~]$ LANG="en" 
# 还记得这个咚咚的用意吧?前面提过了,是为了『语系』的需要啊!下达过一次即可! 
 
[vbird@www ~]$ man date 
DATE(1)                          User Commands                         DATE(1) 
# 请注意上面这个括号内的数字 
NAME  <==这个命令的完整全名,如下所示为date且说明简单用途为配置与显示日期/时间 
       date - print or set the system date and time 
 
SYNOPSIS  <==这个命令的基本语法如下所示 
       date [OPTION]... [+FORMAT] 
       date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 
 
DESCRIPTION  <==详细说明刚刚语法谈到的选项与参数的用法 
       Display  the  current  time  in  the given FORMAT, or set the system 
       date. 
 
       -d, --date=STRING  <==左边-d为短选项名称,右边--date为完整选项名称 
              display time described by STRING, not 'now' 
 
       -f, --file=DATEFILE 
              like --date once for each line of DATEFILE 
 
       -r, --reference=FILE 
              display the last modification time of FILE 
....(中间省略).... 
       # 找到了!底下就是格式化输出的详细数据! 
       FORMAT controls the output.  The only valid option  for  the  second 
       form  specifies  Coordinated  Universal Time.  Interpreted sequences 
       are: 
 
       %%     a literal % 
 
       %a     locale's abbreviated weekday name (e.g., Sun) 
 
       %A     locale's full weekday name (e.g., Sunday) 
....(中间省略).... 
ENVIRONMENT  <==与这个命令相关的环境参数有如下的说明 
       TZ     Specifies the timezone, unless  overridden  by  command  line 
              parameters.   If  neither  is  specified,  the  setting  from 
              /etc/localtime is used. 
 
AUTHOR  <==这个命令的作者啦! 
       Written by David MacKenzie. 
 
REPORTING BUGS  <==有问题请留言给底下的email的意思! 
       Report bugs to <[email protected]>. 
 
COPYRIGHT  <==受到著作权法的保护!用的就是 GPL 了! 
       Copyright ? 2006 Free Software Foundation, Inc. 
       This is free software.  You may redistribute copies of it under  the 
       terms      of      the      GNU      General      Public     License 
       <http://www.gnu.org/licenses/gpl.html>.  There is  NO  WARRANTY,  to 
       the extent permitted by law. 
 
SEE ALSO  <==这个重要,你还可以从哪里查到与date相关的说明文件之意 
       The  full  documentation for date is maintained as a Texinfo manual. 
       If the info and date programs are properly installed at  your  site, 
       the command 
 
              info date 
 
       should give you access to the complete manual. 
 
date 5.97                          May 2006                            DATE(1)

首先,在上个表格的第一行,你可以看到的是:『DATE(1)』,DATE我们知道是命令的名称, 那么(1)代表什么呢?他代表的是『一般用户可使用的命令』的意思!咦!还有这个用意啊!呵呵! 没错~在查询数据的后面的数字是有意义的喔!他可以帮助我们了解或者是直接查询相关的数据。 常见的几个数字的意义是这样的:

代号 代表内容
1 使用者在shell环境中可以操作的命令或可运行文件
2 系统核心可呼叫的函数与工具等
3 一些常用的函数(function)与函式库(library),大部分为C的函式库(libc)
4 装置文件的说明,通常在/dev下的文件
5 配置文件或者是某些文件的格式
6 游戏(games)
7 惯例与协议等,例如Linux文件系统、网络协议、ASCII code等等的说明
8 系统管理员可用的管理命令
9 跟kernel有关的文件

上述的表格内容可以使用『man 7 man』来更详细的取得说明。透过这张表格的说明, 未来你如果使用man page在察看某些数据时,就会知道该命令/文件所代表的基本意义是什么了。 举例来说,如果你下达了『man null』时,会出现的第一行是:『NULL(4)』,对照一下上面的数字意义, 嘿嘿!原来null这个玩意儿竟然是一个『装置文件』呢!

再来,man page的内容也分成好几个部分来加以介绍该命令呢!就是上头man date那个表格内, 以NAME作为开始介绍,最后还有个SEE ALSO来作为结束。基本上,man page大致分成底下这几个部分:

代号 内容说明
NAME 简短的命令、数据名称说明
SYNOPSIS 简短的命令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分最好仔细看看!
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在运行的时候,可以在此程序(软件)中下达的命令
FILES 这个程序或数据所使用或参考或连结到的某些文件
SEE ALSO 可以参考的,跟这个命令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例
BUGS 是否有相关的臭虫!

man page常用的按键整理

按键 进行工作
空格键 向下翻一页
[Page Down] 向下翻一页
[Page Up] 向上翻一页
[Home] 去到第一页
[End] 去到最后一页
/string 向『下』搜寻 string 这个字符串,如果要搜寻 vbird 的话,就输入 /vbird
?string 向『上』搜寻 string 这个字符串
n, N 利用 / 或 ? 来搜寻字符串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行『反向』搜寻。举例来说,我以 /vbird 搜寻 vbird 字符串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?vbird 向上查询 vbird 字符串, 那我可以用 n 继续『向上』查询,用 N 反向查询。
q 结束这次的 man page

事实上,还有两个命令与man page有关呢!而这两个命令是man的简略写法说~就是这两个:

[vbird@www ~]$ whatis  [命令或者是数据]   <==相当于 man -f [命令或者是数据] 
[vbird@www ~]$ apropos [命令或者是数据]   <==相当于 man -k [命令或者是数据]

而要注意的是,这两个特殊命令要能使用,必须要有创建 whatis 数据库才行!这个数据库的创建需要以 root 的身份下达如下的命令:

[root@www ~]# makewhatis

info page

在所有的Unix Like系统当中,都可以利用 man 来查询命令或者是相关文件的用法; 但是,在Linux里面则又额外提供了一种在线求助的方法,那就是利用info这个好用的家伙啦!

基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。 所以,你可以将info page想成是文本模式的网页显示数据啦!

不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的。 举例来说,info这个命令的说明文件有写成info格式,所以,你使用『 info info 』可以得到如下的画面:

[vbird@www ~]$ info info 
File: info.info,  Node: Top,  Next: Getting Started,  Up: (dir) 
 
Info: An Introduction 
********************* 
 
The GNU Project distributes most of its on-line manuals in the "Info 
format", which you read using an "Info reader".  You are probably using 
an Info reader to read this now. 
 
....(中间省略).... 
 
   To read about expert-level Info commands, type `n' twice.  This 
brings you to `Info for Experts', skipping over the `Getting Started' 
chapter. 
* Menu: 
 
* Getting Started::             Getting started using an Info reader. 
* Expert Info::                 Info commands for experts. 
* Creating an Info File::       How to make your own Info file. 
* Index::                       An index of topics, commands, and variables. 
 
--zz-Info: (info.info.gz)Top, 29 lines --Top------------------------------ 
Welcome to Info version 4.8. Type ? for help, m for menu item.

仔细的看到上面这个显示的结果,里面的第一行显示了很多的信息喔!第一行里面的数据意义为:

  • File:代表这个info page的数据是来自info.info文件所提供的;
  • Node:代表目前的这个页面是属于Top节点。 意思是info.info内含有很多信息,而Top仅是info.info文件内的一个节点内容而已;
  • Next:下一个节点的名称为Getting Started,你也可以按『N』到下个节点去;
  • Up:回到上一层的节点总揽画面,你也可以按下『U』回到上一层;
  • Prev:前一个节点。但由于Top是info.info的第一个节点,所以上面没有前一个节点的信息。

从第一行你可以知道这个节点的内容、来源与相关链接的信息。更有用的信息是,你可以透过直接按下N, P, U来去到下一个、上一个与上一层的节点(node)!非常的方便! 第一行之后就是针对这个节点的说明。在上表的范例中,第二行以后的说明就是针对info.info内的Top这个节点所做的。

再来,你也会看到有『Menu』那个咚咚吧!底下共分为四小节,分别是Getting Started等等的,我们可以使用上下左右按键来将光标移动到该文字或者『 * 』上面,按下Enter, 就可以前往该小节了!另外,也可以按下[Tab]按键,就可以快速的将光标在上表的画面中的node间移动, 真的是非常的方便好用。如果将info.info内的各个节点串在一起并绘制成图表的话,情况有点像底下这样:

info page各说明文件相关性的示意图
图3.2.1、info page各说明文件相关性的示意图

如同上图所示,info的说明文件将内容分成多个node,并且每个node都有定位与连结。 在各连结之间还可以具有类似『超链接』的快速按钮,可以透过[tab]键在各个超链接间移动。 也可以使用U,P,N来在各个阶层与相关链接中显示!非常的不错用啦! 至于在info page当中可以使用的按键,可以整理成这样:

按键 进行工作
空格键 向下翻一页
[Page Down] 向下翻一页
[Page Up] 向上翻一页
[tab] 在 node 之间移动,有 node 的地方,通常会以 * 显示。
[Enter] 当光标在 node 上面时,按下 Enter 可以进入该 node 。
b 移动光标到该 info 画面当中的第一个 node 处
e 移动光标到该 info 画面当中的最后一个 node 处
n 前往下一个 node 处
p 前往上一个 node 处
u 向上移动一层
s(/) 在 info page 当中进行搜寻
h 显示求助菜单
? 命令一览表
q 结束这次的 info page

info page是只有Linux上面才有的产物,而且易读性增强很多~不过查询的命令说明要具有info page功能的话,得用info page的格式来写成在线求助文件才行!我们CentOS 5将info page的文件放置到/usr/share/info/目录中!至于非以info page格式写成的说明文件(就是man page),虽然也能够使用info来显示,不过其结果就会跟man相同。 举例来说,你可以下达『info man』就知道结果了! ^_^

总结上面的三个咚咚(man, info, /usr/share/doc/),请记住喔:

  • 在文字接口下,有任何你不知道的命令或文件格式这种玩意儿,但是你想要了解他,请赶快使用man或者是info来查询!
  • 而如果你想要架设一些其他的服务,或想要利用一整组软件来达成某项功能时,请赶快到/usr/share/doc 底下查一查有没有该服务的说明档喔!
  • 另外,再次的强调,因为Linux毕竟是外国人发明的,所以中文文件确实是比较少的! 但是不要害怕,拿本英文字典在身边吧!随时查阅!不要害怕英文喔!

猜你喜欢

转载自my.oschina.net/u/3698560/blog/1795437
今日推荐