同一命令的多个手册页之间有什么区别?

时间:2016-04-22 09:25:39

标签: c++ c linux sockets man

我开始学习C / C ++的套接字编程,并检查手册页中的bind,listen等函数。

当我在手册页之间导航时,我注意到存在同一系统调用有多个手册页的情况,例如插座()

http://man7.org/linux/man-pages/man2/socket.2.html

http://man7.org/linux/man-pages/man3/socket.3p.html

http://man7.org/linux/man-pages/man7/socket.7.html

在这些手册中,我的linux盒子里出现的是第一个(socket(2))。

我注意到带有3p后缀的标题是" POSIX程序员的手册"其余两个名为" Linux程序员手册"。函数原型和用法是相同的(据我所知)。

我的问题是:同一系统调用的两个不同版本的Linux程序员手册的目的是什么,以及paranthesis意味着什么(socket(2),socket(3p),socket (7))?

1 个答案:

答案 0 :(得分:10)

手册页按部分组织,每个部分都有自己的主题。查看man的联机帮助页,尝试运行man man,其中列出了所有可用的部分:

  1. 可执行程序或shell命令
  2. 系统调用(内核提供的功能)
  3. 库调用(程序库中的函数)
  4. 特殊文件(通常位于/ dev)
  5. 文件格式和约定,例如/ etc / passwd
  6. 游戏
  7. 其他(包括宏包和约定),例如男人(7),groff(7)
  8. 系统管理命令(通常仅用于root)
  9. 内核例程[非标准]
  10. 对于socket示例," socket(2)"是由操作系统内核提供的系统调用," socket(3)"是库提供的POSIX接口," socket(7)"是关于socket主题的一般文档。你可以看到这三者都有不同的内容。