Linux下man帮助命令使用全解析
1.Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
所有的手册页都属于一个特定的领域,用一个字符来表示。
Linux下最通用的领域及其名称及说明如下:
领域 名称 说明
1 用户命令, 可由任何人启动的。
2 系统调用, 即由内核提供的函数。
3 例程, 即库函数。
4 设备, 即/dev目录下的特殊文件。
5 文件格式描述, 例如/etc/passwd。
6 游戏, 不用解释啦!
7 杂项, 例如宏命令包、惯例等。
8 系统管理员工具, 只能由root启动。
9 其他(Linux特定的), 用来存放内核例行程序的文档。
n 新文档, 可能要移到更适合的领域。
o 老文档, 可能会在一段期限内保留。
l 本地文档, 与本特定系统有关的。
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.ubuntu默认是没有安装c语言的库函数man手册的
(1).添加库函数手册
ubuntu默认是没有安装c语言的库函数man手册的,所以你在man perror 和sendto之类的函数时会显示没有相关文档的问题,这个问题让我郁闷了我好久。解决方法:
复制代码代码如下:
sudo apt-get install manpages-dev
(2).让man显示中文
ubuntu源里面已经包含了中文的man包,所以不用从其他地方down了,直接
复制代码代码如下:
sudo apt-get install manpages-zh
但是这样man默认显示的还不是中文,还需要以下两步
a.把中文man包转换成utf8格式的
新建一个脚本文件
复制代码代码如下:
gedit t.sh
把下面内容添加进去
复制代码代码如下:
#!/bin/bashcd /usr/share/man/zh_CN/for k in *docd $kfor i in *.gzdo j=`echo ${i%.gz}` gunzip $i iconv -f gb18030 -t utf8 $j >tmp mv tmp $j gzip $jdonecd ..done
然后
复制代码代码如下:
sudo ./t
b.修改man默认的语言
复制代码代码如下:
sudo gedit /etc/manpath.config
把里面的所有的 /usr/share/man 改成 /usr/share/man/zh_CN
保存后退出,然后你再试一下man ls
(3).让没有中文帮助的显示英文
做完上面第二部还不够,这时你再man 一下一些c语言函数(不要用printf,socket之类比较有名的函数,这些已经有中文帮助了)的时候就会发现竟然没有帮助,而刚才明明在第一步已经安装了啊。这是因为你上面 把/usr/share/man 改成 /usr/share/man/zh_CN的操作使man只在中文帮助中搜索,如果没有就直接放弃,因此还需要以下操作,才能让man在没有中文帮助的时候自动显示英文的帮助,如果英文的也没有,哪就真的没有了。
复制代码代码如下:
sudo gedit /etc/manpath.config
然后搜索你刚才改过的地方,然后在其后面添加同样的一行,只是后面的目录还用原来的/usr/share/man,比如在修改后的
复制代码代码如下:
MANPATH_MAP /bin /usr/share/man/zh_CN
再添加一行
复制代码代码如下:
MANPATH_MAP /bin /usr/share/man
如果发现安装过的系统中缺少很多手册页。
用以下命令搞定了
复制代码代码如下:
sudo apt-get install manpages
sudo apt-get install manpages-de
sudo apt-get install manpages-de-dev
sudo apt-get install manpages-dev
下一篇:Linux内核模块编写详解