使用man date来查看date命令的详细信息。

lucifer@lucifer-virtual-machine:~$ 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 <bug-coreutils@gnu.org>. 

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) 

出现的这个屏幕画面,我们称呼他为man page, 可以在里头查询他的用法与相关的参数说明。

首先,在上个表格的第一行,可以看到的是:『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竟然是一个『装置文件』!

上表中的1, 5, 8这三个号码特别重要。

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

代号 内容说明
NAME 简短的命令、数据名称说明
SYNOPSIS 简短的命令下达语法(syntax)简介
DESCRIPTION 较为完整的说明,这部分最好仔细看看!
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在运行的时候,可以在此程序(软件)中下达的命令
FILES 这个程序或数据所使用或参考或连结到的某些文件
SEE ALSO 可以参考的,跟这个命令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例
BUGS 是否有相关的臭虫!
  1. 先察看NAME的项目,约略看一下这个数据的意思;
  2. 再详看一下DESCRIPTION,这个部分会提到很多相关的数据与使用时机,从这个地方可以学到很多小细节呢;
  3. 而如果这个命令其实很熟悉了(例如上面的date),那么主要就是查询关于OPTIONS的部分了! 可以知道每个选项的意义,这样就可以下达比较细部的命令内容呢!
  4. 最后,再看一下,跟这个数据有关的还有哪些东西可以使用的?举例来说,上面的SEE ALSO就告知我们还可以利用『info coreutils date』来进一步查阅数据;
  5. 某些说明内容还会列举有关的文件(FILES 部分)来提供我们参考!这些都是很有帮助的!

man page常用的按键

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

lucifer字符串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?lucifer向上查询

lucifer字符串, 那我可以用 n 继续『向上』查询,用 N 反向查询。

q 结束这次的 man page

问题1:你可否查出来,系统中还有哪些跟『man』这个命令有关的说明文件呢?



使用 -f 这个选项就可以取得更多与man相关的信息,而上面这个结果当中也有提示了 (数字) 的内容, 举例来说,第二行的『 man (7) 』表示有个man (7)的说明文件存在

搜寻的顺序是记录在/etc/man.conf这个配置文件当中, 先搜寻到的那个说明档,就会先被显示出来! 一般来说,通常会先找到数字较小的那个啦!因为排序的关系啊!所以, man man 会跟 man 1 man 结果相同!

问题2:找出系统的说明文件中,只要有man这个关键词就将该说明列出来。

还有,whatis 相当于man -f,apropos 相当于man -k

Linux - man page的更多相关文章

  1. mkbundle(1) - Linux man page

    mkbundle(1) - Linux man page Name mkbundle, mkbundle2 - Creates a bundled executable. Synopsis mkbun ...

  2. fork(2) - Linux man page

    fork(2): create child process - Linux man page https://linux.die.net/man/2/fork fork(2) - Linux man ...

  3. #include <sys/epoll.h> epoll - I/O event notification facility 服务器端 epoll(7) - Linux manual page http://www.man7.org/linux/man-pages/man7/epoll.7.html

    epoll使用详解(精髓) - Boblim - 博客园 https://www.cnblogs.com/fnlingnzb-learner/p/5835573.html epoll使用详解(精髓) ...

  4. Linux的page cache使用情况/命中率查看和操控

    转载自宋宝华:https://blog.csdn.net/21cnbao/article/details/80458173 这里总结几个Linux文件缓存(page cache)使用情况.命中率查看的 ...

  5. dhcpd.conf(5) - Linux man page

    http://linux.die.net/man/5/dhcpd.conf Name dhcpd.conf - dhcpd configuration file Description   The d ...

  6. linux 排查page的状态问题

    最近遇到一个page的释放异常的问题,堆栈如下: [ 1000.691858] BUG: Bad page state in process server.o pfn:309d22 [ mapcoun ...

  7. Linux下5种IO模型的小结

    概述 接触网络编程,我们时常会与各种与IO相关的概念打交道:同步(Synchronous).异步(ASynchronous).阻塞(blocking)和非阻塞(non-blocking).关于概念的区 ...

  8. Linux 多线程应用中如何编写安全的信号处理函数

    http://blog.163.com/he_junwei/blog/static/1979376462014021105242552/ http://www.ibm.com/developerwor ...

  9. Linux设置:环境变量

    一.在相关配置文件中添加可执行文件/头文件/静态库/动态库的搜索路径 对所有用户有效在/etc/profile添加. 只对当前用户有效在Home目录下的.bashrc或.bash_profile里添加 ...

随机推荐

  1. Spring+EhCache缓存实例(详细讲解+源码下载)

    一.ehcahe的介绍 EhCache 是一个纯Java的进程内缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.Ehcache是一种广泛使用的开源Java分布式 ...

  2. RxJava(四) concatMap操作符用法详解

    欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/51533282 本文出自:[余志强的博客] concatMap操作符的 ...

  3. FFmpeg在Linux下安装编译过程

    转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...

  4. qsort函数应用大全

    七种qsort排序方法 <本文中排序都是采用的从小到大排序> 一.对int类型数组排序  int num[100]; Sample: int cmp ( const void *a , c ...

  5. Team Foundation Server 2015 Update 2.1 发布日志

    微软在 2016年5月5日发布了Visual Studio Team Foundation Server 2015 update 2.1. 下面我们来看看Update2.1中给我们带来了哪些新功能. ...

  6. Android的RadioButton和checkBox的用法-android学习之旅(十九)

    RadioButton和checkBox简介 单选按钮(RadioButton)和复选框(CheckBox)都继承了Button,因此属性的设置和Button差不多,只是加了一个android:che ...

  7. 【安卓网络请求开源框架Volley源码解析系列】初识Volley及其基本用法

    在安卓中当涉及到网络请求时,我们通常使用的是HttpUrlConnection与HttpClient这两个类,网络请求一般是比较耗时,因此我们通常会在一个线程中来使用,但是在线程中使用这两个类时就要考 ...

  8. UNIX环境高级编程——线程和fork

    当线程调用fork时,就为子进程创建了整个进程地址空间的副本.子进程通过继承整个地址空间的副本,也从父进程那里继承了所有互斥量.读写锁和条件变量的状态.如果父进程包含多个线程,子进程在fork返回以后 ...

  9. HMM:隐马尔科夫模型-维特比算法

    http://blog.csdn.net/pipisorry/article/details/50731584 目标-解决HMM的基本问题之二:给定观察序列O=O1,O2,-OT以及模型λ,如何选择一 ...

  10. js对象、构造函数、命名空间、方法、属性

     <script language="javascript">   var myNameSpace = new Object(); //构造一个命名 空间myCla ...