自学Linux Shell3.1-帮助命令man

点击返回 自学Linux命令行与Shell脚本之路html

3.1-帮助命令man

1.man命令概述

默认bash shell提示符是美圆符号($),这个符号代表shell在等待用户输入。shell

Linux man命令的使用方法ubuntu

Linux提供了丰富的帮助手册,使用Linux man命令来查看一些不熟悉的命令的使用方法,还能够用来查询系统库文件中的一些函数定义和使用方法。bash

Linux man中的man就是manual的缩写,用来查看系统中自带的各类参考手册,可是手册页分为好几个部分,以下所示:socket

  • 1   Executable programs or shell commands普通的命令
  • 2   System calls (functions provided by the kernel)系统调用,如open,write之类的(经过这个,至少能够很方便的查到调用这个函数,须要加什么头文件)
  • 3   Library calls (functions within program libraries)库函数,如printf,fread
  • 4   Special files (usually found in /dev)特殊文件,也就是/dev下的各类设备文件
  • 5   File formats and conventions eg /etc/passwd指文件的格式,好比passwd,就会说明这个文件中各个字段的含义
  • 6   Games给游戏留的,由各个游戏本身定义
  • 7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)附件还有一些变量,好比向environ这种全局变量在这里就有说明
  • 8   System administration commands (usually only for root)系统管理用的命令,这些命令只能由root使用,如ifconfig
  • 9   Kernel routines [Non standard]内核使用

语法

man(选项)(参数)

选项

-a:在全部的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信息;
-P:指定内容时使用分页程序;
-M:指定man手册搜索的路径。

参数

  • 数字:指定从哪本man手册中搜索帮助;
  • 关键字:指定要搜索帮助的关键字。

在shell中输入man+数字+命令/函数便可以查到相关的命令和函数。若不加数字,那Linux man命令默认从数字较小的手册中寻找相关命令和函数。ide

实例

咱们输入man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,一样,咱们输man ifconfig它会在最左上角显示“IFCONFIG(8)”。也能够这样输入命令:“man [章节号] 手册名称”。函数

man是按照手册的章节号的顺序进行搜索的,好比:man sleepspa

只会显示sleep命令的手册,若是想查看库函数sleep,就要输入:  man 3 sleep命令行

2.Ubantu系统中man

 ubuntu默认是没有安装c语言的库函数man手册的,因此你在man perror和sendto之类的函数时会显示没有相关文档的问题,具体办法以下:code

 输入:  sudo apt-get install manpages-dev

如何让将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

 如何让没有中文帮助的显示英文?

经过以上你将发现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