最新消息:

linux/unix查看帮助命令man、whatis、help、info、apropos

shell 大步 1949浏览 0评论

 

-h 或者 --help 帮助命令的使用详解

查看shell内置命令的帮助,可以使用-h或者 --help

#wget   --help

或者为了方便查看,和less命令一起使用

#wget   --help | less

或者是我直接查看我想用的参数的用法和解释:

#wget –help | grep proxy

#help  cd


info命令的使用详解

可能有的命令没有man手册又或者不在指定的地方,此时,可能这个命令有info文档。

#info  tar


apropos命令的使用详解

等同于man  -k  命令,用关键字模糊搜索相关的命令,比如,我要搜索与网络相关的命令:

#apropos  network

当然,这需要先建立建立搜索使用的数据库,当使用者命令发生错误时,就是whatis database没有建立。输入:

#makewhatis

建立搜索用的数据库


whatis命令的使用详解

获得索引的简短说明信息

#whatis  ls

当然,这需要先建立建立搜索使用的数据库,当使用者命令发生错误时,就是whatis database没有建立。输入:

#makewhatis

建立搜索用的数据库


man和man手册用法详细解释

Linux系统提供了相对比较丰富的帮助手册(man),man是manual的缩写,在日常linux系统管理中经常用到,今天就简单聊聊man。man 本身也提供自己的帮助手册,通过man就可以查看。

 

man page大致分为一下部分:

NAME:简单命令、数据名称说明

SYNOPSIS:简短的命令语法(sysntax)简介

DESCRIPTION:较为完整的说明,需要认真阅读

OPTION:针对SYNOPSIS中列举的所有可用选项说明

COMMANDS:当这个软件在执行的时候,可用在此软件中使用命令

FILES:这个软件或数据所使用或参考或链接到的文件

SEE ALSE:可以参考的,与这个命令有关的其他说明

EXAMPLE:一些可以参考的范例,这个最好用

BUGS:是否有相关的bug

 导出man手册

导出ls命令的man手册:

man ls | col -bfp > ls.txt

 

(1)man手册分为多个section,每个section用一个字符表示。

这里的section可以理解为类别,例如:man 1 passwd 和 man 5
passwd是不一样的类别(详细见表一)。通常我们使用man
passwd,这个时候man就按照预先设置的搜索路径和顺序去搜索passwd,当搜索到一个就停止继续搜索并将结果显示出来,如果我们指定了
section,那么man只会在指定的section里去查找man帮助页。

wKioOVK78SKxXwoCAADKBDs3rCM750.jpg

(表一)

man 命令是按照章节存储的,Linux的man手册共有以下几个章节:

章节编号

章节名称

章节主要内容

1

General Commands

用户在shell中可以操作的指令或者可执行文档

2

System Calls

系统调用的函数与工具等

3

Sunroutines

C语言库函数

4

Special Files

设备或者特殊文件

5

File Formats

文件格式与规则

6

Games

游戏及其他

7

Macros and Conventions

表示宏、包及其他杂项

8

Maintenence Commands

表示系统管理员相关的命令

9

 

man命令后面可以加一个数字参数,表示具体的范围定位:
数字“1”表示用户命令
数字“2”表示系统调用
数字“3”表示C语言库函数
数字“4”表示设备或特殊文件
数字“5”表示文件格式和规则
数字“6”表示游戏及其他
数字“7”表示宏、包及其他杂项
数字“8”表示系统管理员相关的命令
知道了这些,我就可以用man 2 write来查看关于write系统调用的帮助信息了。
再举几个例子,比如你man named,你观察屏幕左上角会发现NAMED(8)的字样,这就说明这个named是包含在“系统管理员相关的命令”之中的。
再比如man yum.conf,你会发现yum.conf(5) ,我想你现在应该知道它的寓意了。下次你可以直接man 5再加一个配置文件,来查查这个文件的配置方法了。

文件

项目 描述
/usr/bin/man 包含 man 命令。
/usr/share/man 标准手册目录结构。
/usr/share/man/cat?/* 包含预格式化的页面的目录。
/usr/share/man/whatis 包含关键字数据库。
/usr/share/man/man?/* 包含 nroff 格式联机帮助页的目录
3 我的这些man信息都存在Linux系统的哪里?
[root@wupengchong ~]# manpath
/usr/kerberos/man:/usr/local/share/man:/usr/share/man/en:/usr/share/man
用manpath命令就可以看到了,当你man的时候,man会到如上这些路径去寻找对应的帮助信息。如果没有的话,那么man会抱怨:
[root@wupengchong ~]# man rocrocket
No manual entry for rocrocket
呵呵
4 如何重新建立man的数据库?
使用makewhatis命令就可以!

(2)man的配置文件。

man的配置文件是/etc/man.config,我们现学现用,可以通过man 5
man.config看看这个配置文件的帮助信息。对于man.config,我们日常使用的不多,一般都是默认的设置,比较重要的是MANPATH
(man帮助文件存放的路径)和MANSECT(man搜索的顺序)两个参数,通常不建议修改。

(3)man的日常使用。

  • man常用操作。使用man打开帮助手册,里面很多操作与我们经常使用的vi编辑器类似,当然可以通过h键查看具体的帮助信息,下面只简单谈谈我们经常使用的一些操作。
  • 上下翻页。最常用的是使用空格键向下翻页。另外,Ctrl + B或者[Page Up] 可以向上翻页, ctrl + F或者[Page Down]也可以实现向下翻页,[Home]返回首页,[End]返回末页。
  •   d下翻半页

    u上翻半页

  •   gg到第一行

    GG到最后一行

  • 行移动。使用键盘方向键进行上下文移动,或者使用j键往下移动, k键向上移动。
  • 查找。使用/string向下搜索string关键字,?string向上搜索string关键字。n键继续关键字的下一个搜索,N键反向搜索关键字。
  • 书签。man中可以定义书签,当我们想把帮助页的某个位置记录下来以便后面查看,就可以定义个书签。
    例如在当前位置定义个书签letter,我们需要输入m键后,再输入定义的书签名letter即可。那么如何使用这个书签呢?在当前帮助页里输入单引号
    'letter就可以定位到书签的位置。
  • 执行shell。在man页内可以执行shell,通过!号再输入shell即可执行。例如:!echo 'hello world',即可打印hello world。这个在日常工作中基本用不到,这里提出来也就想开阔下大家的思路。
  • h获取man使用帮助
  • 退出。q键退出当前帮助手册。

man常用命令参数

  • man -a:搜索并打开所有man中同名帮助,例如 man passwd ,你首先会进入一个PASSWD(1) section用户命令类的帮助手册,你再按q键退出当前正在显示的帮助手册,就会进入PASSWD(5) section文件格式类的帮助手册。
  • man -aw:显示所有手册文件的路径。例如man -aw passwd
  1. /usr/share/man/man1/passwd.1.gz
  2. /usr/share/man/man5/passwd.5.gz
  • man -M:指定手册文件的搜索路径,有的时候我们自己安装的软件是带有自己的帮助文件的,通常不在我们的MANPATH
    里面,那么我们就可以手动指定man搜索的文件路径。如 man -M /home/mysql/man mysql
    显示的就是你安装的mysql的帮助,而不是系统默认的旧版mysql的帮助。
  • man -k:根据关键字搜索联机帮助,是一种模糊搜索。例如要查找"passwd"相关的信息,使用man -k passwd会找到很多和passwd相关的帮助页。如:我忘记了iptables命令就只能记住ipta则可以使用man -k ipta ,系统会把包括ipta的命令显示在屏幕上
  • man -f:关键字精确搜索,与-k不同,它只搜索与关键字完全匹配的帮助页。
 
4、制作man手册
其实可以自己制作man手册,在/usr/local/man/man1下建立mantest.1文档:

cd /usr/local/man/man1
vim mantest.1

输入:

.\"mantest
.TH mantest 1 "2012-01" "GNU" "Commond"
.SH NAME
mantest
.SH SYNOPSIS
mantest
.SH DESCRIPTION
mantest
.sp
section 1
.sp
section 2
.sp
section 3
.SH AUTHOR
root

执行命令:man mantest
就能显示出来了。文档要符合groff标签格式。
效果如下:

具体标签含义可参考:http://bbs.chinaunix.net/thread-2159365-1-1.html

 

 

转载请注明:大步's Blog » linux/unix查看帮助命令man、whatis、help、info、apropos

SiteMap