欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Linux下man帮助命令使用全解析

程序员文章站 2022-07-04 08:02:03
这篇文章主要介绍了Linux下man帮助命令的使用,是Linux入门学习中的基础知识,需要的朋友可以参考下... 16-01-15...

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