Chinaunix首页 | 论坛 | 博客
  • 博客访问: 554929
  • 博文数量: 109
  • 博客积分: 2300
  • 博客等级: 大尉
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-02 13:11
文章分类

全部博文(109)

文章存档

2012年(1)

2011年(17)

2010年(62)

2009年(29)

我的朋友

分类: LINUX

2009-10-17 19:40:46

linux下查看帮助手册页的命令是man。man包括了命令、系统调用、库函数等多个领域;有时候我们可以直接输man 对象名称就可以显示出帮助文档。而有的时候需要在中间加个数字/字符。比如 man 3 opendir ,这中间数字/字符就是代表了不同领域,至少为什么有的时候又不需要输入。那是因为man会按照一定顺序去查找这些领域。找到第一个就会为你显示出来.下面就为你详细的讲解这些知识

(1)所有的手册页都属于一个特定的领域,用一个字符来表示。

Linux下最通用的领域及其名称及说明如下:

领域 名称 说明
1 用户命令, 可由任何人启动的。
2 系统调用, 即由内核提供的函数。
3 例程, 即库函数。
4 设备, 即/dev目录下的特殊文件。
5 文件格式描述, 例如/etc/passwd。
6 游戏, 不用解释啦!
7 杂项, 例如宏命令包、惯例等。
8 系统管理员工具, 只能由root启动。
9 其他(Linux特定的), 用来存放内核例行程序的文档。
n 新文档, 可能要移到更适合的领域。
o 老文档, 可能会在一段期限内保留。
l 本地文档, 与本特定系统有关的。
例如:
#man mkdir

mkdir1.jpg

但是这里发现我并没有输入领域字符,也可以获得帮助文档。这是因为如果你没有加字符,man会按照一定顺序去查找这些领域,找到的第一个显示出来。这样确实方便了用户,很多时候我们并不需要输入领域字符也可以得我们想要的文档。但是如果碰到几个领域都有文档,而你想要的又比较靠后,就只能加上领域字符了。如我要查找mkdir的系统调用:
#man 2 mdkir

mkdir2.jpg

当然了。还有另外一种方法,就是通过修改配置文件来改变这些领域字符的顺序,具体做法在后面第三节里介绍

2)man的一些常用参数和用法

man -a cmd
打开所有领域内的同名帮助,例如 man fam ,你首先会进入一个fam(1M)的命令版fam帮助,你再按q键
就会进入FAM(3X),库函数版的帮助
man -aw cmd
显示所有cmd的所有手册文件的路径,如 man -aw fam 就是
/usr/share/man/man1/fam.1m.gz
/usr/share/man/man3/fam.3x.gz
man 领域代号 cmd
直接指定特定领域内搜索手册页,如 man 3 fam 直接进入库函数版的帮助
man -M cmd
指定手册文件的搜索路径,如 man -M /home/mysql/man mysql 显示的就是你安装的mysql的帮助,而不是系统自带的旧版mysql的帮助
man cmd| col -b > cmd.txt
把man手册信息输出到文本文件
LANG=语言代号
man -w cmd
man 特定语言manpage文件的路径
查看特定语言版本的手册页
例如,要查看mplayer的中文man
shell> LANG=zh
shell> man -w mplayer
/usr/share/man/zh/man1/mplayer.1.gz
新开一个shell窗口(或在原窗口 shell> LANG=en_US.UTF-8)
shell> man /usr/share/man/zh/man1/mplayer.1.gz

3)man的配置文件/etc/man.config

如果你不想每次man cmd都要用-M指定路径,那么可以通过修改配置文件,添加内容如
MANPATH /home/mysql/man
man在各领域的搜索次序可以通过修改

代码:

MANSECT 1:8:2:3:4:5:6:7:9:tcl:n:l:p: o

来实现,一般不推荐修改。

阅读(1167) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~