同一命令的多个手册页有什么区别?
What is the difference between multiple man pages of the same command?
我开始学习C/C++的套接字编程,并检查手册页中的绑定,侦听等功能。
当我在手册页之间导航时,我注意到在某些情况下,同一系统调用有多个手册页,例如 socket()
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 程序员手册的目的是什么,偏执之间的数字是什么意思(socket(2)、socket(3p)、socket(7))?
手册页按部分组织,每个部分都有自己的主题。查看手册页以获取man
,尝试运行man man
,它列出了所有可用的部分:
- 可执行程序或外壳命令
- 系统调用(内核提供的函数)
- 库调用(程序库中的函数)
- 特殊文件(通常在/dev 中找到)
- 文件格式和约定,例如/etc/passwd
- 游戏
- 杂项(包括宏包和约定),例如 man(7)、groff(7)
- 系统管理命令(通常仅适用于 root)
- 内核例程 [非标准]
对于socket
的例子,"socket(2)"是操作系统内核提供的系统调用,"socket(3)"是库提供的POSIX接口,"socket(7)"是关于socket主题的一般文档。您可以看到这三者都有不同的内容。
相关文章:
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 返回常量对象引用 (getter) 和仅返回字符串有什么区别?
- Qt:remove() 和 rmdir() 有什么区别
- 这 4 个 lambda 表达式之间有什么区别?
- 将向量作为类>(值)<向量启动和向量<类>[值]有什么区别
- typedef 枚举和枚举类有什么区别?
- &C::c 和 &(C::c) 有什么区别?
- ascii 和 unicode 在处理级别有什么区别吗?
- C 中的常量限定符和 C++ 中的常量限定符有什么区别?
- "ABC" 和 "ABC" ) 在C++中有什么区别?
- 空指针常量 (nullptr)、空指针值和空成员指针值之间有什么区别?
- 引用捕获和在 lambda 中通过引用发送参数有什么区别 (C++)
- 两种访问I2C总线的方法有什么区别?
- 两种模板示例有什么区别?
- 这两种C++语法之间有什么区别?
- lua 5.0.2 模块和 5.3.5 有什么区别?
- C++中"typedef"、"using"、"namespace"和"using namespace"有什么区别?
- std::enable_if 和 std::enable_if_t 有什么区别?