linux man手册中select(2),这里的2表示的是什么意思?

RT,小弟初学linux,知道select(2)说的是select()函数,但是括号中的2是指的什么?还望大侠指教!

作者: ahhphei   发布时间: 2011-03-17

Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。

  Linux的man手册共有以下几个章节:

  1、Standard commands (标准命令)

  2、System calls (系统调用)

  3、Library functions (库函数)

  4、Special devices (设备说明)

  5、File formats (文件格式)

  6、Games and toys (游戏和娱乐)

  7、Miscellaneous (杂项)

  8、Administrative Commands (管理员命令)

  例如:我们输入 man ls,它会在最左上角显示“LS(1)”,在这里,“LS”表示手册名称,而“(1)”表示该手册位于第一节章,同样,我们输入“man ifconfig”它会在最左上角显示“IFCONFIG(”。也可以这样输入命令:“man [章节号] 手册名称”。

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

  man sleep

  只会显示sleep命令的手册,如果想查看库函数sleep,就要输入:

  man 3 sleep

  Ubuntu 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

作者: kdkgod   发布时间: 2011-03-17

说白了,2 代表的就是系统调用那个级别

作者: kdkgod   发布时间: 2011-03-17