在windows命令提示符下,用户为了获得某个命令的帮助,只需要在命令后面输入 /?,系统会提供该命令的相关帮助。
linux也提供了大量的终端操作命令,为了让用户更方便使用这些操作命令,linux也提供一些方法让用户获取帮助信息。
一、命令的 --help参数获取帮助
注意:linux不支持-? /?参数获取帮助
--help:只需要在命令后使用 --help 指数后,即可获取命令的用法
date --help 如下图
第一部分显示命令格式;
第二部分显示命令参数的含义;
后面是相关内容解释。
对于某些命令,可能显示的内容很长,可能会出现翻页、无法看到之前的内容,因此用户可以通道 | 其他命令查看。
date --help | more
相关使用说明参见从心开始的CentOS学习笔记之五:文件内容查看命令cat、tac、nl、more、less
date --help | less
二、man 命令
man是manual(操作说明)的综写。其命令用来提供在线帮助,所有用户都有使用权限。在Linux系统中存储着一部联机使用的手册,以供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便和实用。
格式:man [-acdfhkKtwW] [-m system] [-p string] [-C config_file] [-M path] [-P pager] [-S section_list] [section] name ...
参数说明:
-C config_file:指定设定文件man_db.conf,缺省值是/etc/man_db.conf。
-M path:指定了联机手册的搜寻路径, 如果没有指定则使用环境变数MANPATH的设定;如果没有使用MANPATH, 则会使用/usr/lib/man.conf内的设定;如果MANPATH是空字串,则表示使用缺省值。
-P pager:指定使用何种pager.man会优先使用此选项设定,然后是依环境变数MANPAGER设定,然后是环境变数PAGER;man缺省使用/usr/bin/less -is。
-S section_list man:所搜寻的章节列表(以冒号分隔),此选项会覆盖环境变数MANSECT的设定。
-a man:缺省情况是在显示第一个找到的手册之后,就会停止搜寻,使用此选项会强迫man继续显示所有符合name的联机手册。
-c:即使有最新的cat page,也继续对联机手册重新作排版,本选项在屏幕的行列数改变时或已排版的联机手册损坏时特别有意义。
-d:不要真的显示联机手册,只显示除错讯息。
-D:同时显示联机手册与除错讯息。
-h:显示求助讯息然后结束程式 。
-K:对所有的联机手册搜寻所指定的字串。请注意,本功能回应速度可能很慢,如果指定section(区域)会对速度有帮助。
-m system:依所指定的system名称而指定另一组的联机手册。
对于操作说明文档存放位置,不同的linux通常可能有点差异性,不过,通常是放在/usr/share/man这个目录里头,然而用户可以通过修改他的man page搜寻路径来改善这个目录的问题!修改/etc/man_db.conf (有的版本为man.conf或manpath.conf或man.config等)
ls /usr/share/man 显示/usr/share/man目录下的内容。
less /etc/man_db.conf 显示/etc/man_db.conf配置文件的内容
实例说明:man date,显示内容如下
第一行:DATE(1),()中的范围为1-9,它代表的是“一般用户可以使用的命令”,范围为1-9,含义如下(1,5,8比较重要):
1 使用者在shell环境中可以操作的指令或可可执行文件
2 系统核心可调用的函数与工具等
3 一些常用的函数(function)与函数库(library),大部分为C的函数库(libc)
4 设备文件的说明,通常在/dev下的文件
5 配置文件或者是某些文件的格式
6 游戏(games)
7 协议等,例如Linux文件系统、网络协定、ASCII code等等的说明
8 系统管理员可用的管理指令
9 跟kernel有关的文件
在linux下,man除了可以显示命令的帮助外,还可以显示配置的文件帮助。如系统有passwd,/etc/passwd配置文件,分别该如何显示这两个文件的帮助呢
直接输入man passwd,显示如下,可以看出这显示的是passwd命令的帮助。
因为/etc/passwd是一个配置文件,通过上述可以看出,其类型为5,因此应该输入命令 man 5 passwd
那么用户怎么知道某个命令是否还有其他相对应的配置文件等类型文件存在呢
用户可以通过 whereis 命令或文件名 查看
如 whereis passwd
执行结果如下:
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
/usr/bin/passwd 代表是命令,类型为1,其帮助文档为/usr/share/man/man1/passwd.1.gz
/etc/passwd代表是配置文件,类型为5, 其帮助文档为 /usr/share/man/man5/passwd.5.gz
那么输入 man passwd 命令后,系统会首先查找显示哪种类型的帮助文档呢
这由系统查找的顺序来决定,查找的顺序是记录在/etc/man_db.conf 这个配置文件当中, 先搜寻到的那个说明文档,就会先被显示出来! 一般来说,通常会先找到数字较小的那个啦,所以 man man 会跟 man 1 man 结果相同。
除第一行外,man显示的文档内容一般以NAME作为开始介绍,最后还有个SEE ALSO来作为结束。具体含义如下:
代号 内容说明
NAME 简短的指令、数据名称说明
SYNOPSIS 简短的指令下达语法(syntax)简介
DESCRIPTION 较为完整的描述
OPTIONS 针对 SYNOPSIS 部分中,有列举的所有可用的选项说明
COMMANDS 当这个程序(软件)在执行的时候,可以在此程序(软件)中下达的指令
FILES 这个程序或数据所使用或参考或链接到的某些文件
SEE ALSO 可以参考的,跟这个指令或数据有相关的其他说明!
EXAMPLE 一些可以参考的范例
有时候除了这些外,还可能会看到Authors与Copyright等,不过也有很多时候仅有NAME与DESCRIPTION等部分。
用户可以按相关键进行相关操作,具体说明如下:
按键 进行的操作
空白键 向下翻一页
[PageDown] 向下翻一页
[PageUp] 向上翻一页
[Home] 去到第一页
[End] 去到最后一页
/string 向“下”搜寻 string 这个字串,如果要搜寻 passwd 的话,就输入 /passwd
?string 向“上”搜寻 string 这个字串
n, N 利用 / 或 ? 来搜寻字串时,可以用 n 来继续下一个搜寻 (不论是 / 或 ?) ,可以利用 N 来进行“反向”搜寻。例如用户以 / ls搜寻 ls 字串, 那么可以 n 继续往下查询,用 N 往上查询。若以 ?ls 向上查询 ls 字串, 那
用户可以用 n 继续“向上”查询,用 N 反向查询。
q 结束本次的man命令
man -f 命令或文件名:显示与名字完全相同的说明文件信息,即man只会按后面的命令或文件完整名称查找显示,有一点不同也不行。
man -k 关键字:显示包含关键字的说明文件信息,相关于通配符、模糊查找显示。
注意:要执行以下两个命令,必须要通过mandb建立whatis数据库才行,同时建立这个数据库必须以root身份建立,否则无法正常输入结果。
例如:man -f passwd
man -k passwd
man -f pass 未找到
man -k pass 找到并显示有关信息
三、info命令
基本上,info与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。但是与man page一口气输出一堆信息不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并且在各个页面中还有类似网页的“超链接”来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。 所以,用户可以将info page想成是文字模式的网页显示数据。不过用户要查询的目标数据的说明文档必须要以info的格式来写成才能够使用info的特殊功能(例如超链接),而这个支持info指令的文件默认是放置在/usr/share/info/这个目录当中。
info info 执行结果如下:
用户可以按如下按键进行相关操作:
空白键 向下翻一页
[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 命令
四、其他命令
1、whatis
格式:whatis 命令或文件名
相当于man -f 的功能
2、apropos
格式:apropos 命令或文件名
相当于man -k 的功能
注意:要执行以下两个命令,必须要通过mandb建立whatis数据库才行,同时建立这个数据库必须以root身份建立,否则无法正常输入结果。
whatis passwd
apropos passwd
执行结果如下: