Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
1.man共有以下几个章节
2.man手册的格式
NAME 命令名称及功能简要说明
SYNOPSIS 用法说明,包括可用的选项
DESCRIPTION 命令功能的详细说明,可能包括每一个选项的意义
OPTIONS 说明每一项的意义
FILES 此命令相关的配置文件
BUGS
EXAMPLES 使用示例
SEE ALSO 另外参照
3.man手册的使用方法
翻屏
向后翻一屏:space(空格键) 向前翻一屏:b
向后翻一行:Enter(回车键) 向前翻一行:k
查找:
/KEYWORD 向后查找 n:下一个
?KEYWORD 向前查找 N:前一个
退出:q
4.常用实例
分章节查看man的帮助手册:
4.1 标准用户命令
可以使用whatis命令是用于查询一个命令执行什么功能,并将查询结果打印到终端上。
例如:
[root@nfs-server ~]#whatis cd
cd (1p) - change the working directory
cd [builtins] (1) - bash built-in commands, see bash(1)
#从上文的输出结果我们看到cd命令是bash的内建命令,它的功能是改变当前目录,可以在1和1p的章节中查看它的帮助。
[root@nfs-server ~]#man 1 cd
使用上面的命令可以直接查看cd的帮助信息。
[root@nfs-server ~]#man 1p cd
因为1p章节是bash的帮助信息,所以在使用"man 1p cd"后,通过在man中输入"/cd"查找相关的信息才能看到cd的帮助信息。
4.2 系统调用
[root@nfs-server]# whatis read
read (1p) - read a line from standard input
read (2) - read from a file descriptor
read (3p) - read from a file
read [builtins] (1) - bash built-in commands, see bash(1)
#从上面可看到,read在1,1p,2,3p中都有内容,下面查看系统调用
[root@nfs-server ~]#man 2 read
[root@nfs-server ~]#man 2 mount
4.3 库调用
[root@nfs-server ~]# man 3 sleep
4.4 特殊文件(设备文件)
[root@nfs-server ~]#man 4 tty
4.5 文件格式(配置文件的语法)
[root@nfs-server ~]# man 5 passwd
4.8 管理命令
[root@nfs-server ~]# man 8 fdisk
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