Linux 函数名后括号内数字代表什么?如execve(2)、login(1)的编号含义
Linux 命令/函数后括号内数字的含义
这些带括号的数字是 Unix/Linux 系统内置手册(即 man 手册)的分区编号,作用是区分同名的不同类型文档,避免名称冲突。
Linux 主流发行版的 man 手册通常分为9个常用分区,对应含义如下:
- 1:普通用户可执行的命令工具,你提到的
login(1)就属于这个分区,对应系统自带的登录命令 - 2:内核提供的系统调用接口,你提到的
execve(2)就属于这个分区,是内核层面控制进程执行的系统调用 - 3:C 语言标准库提供的库函数,比如常用的
printf(3)就属于该分区 - 4:系统特殊文件与设备说明,大多对应
/dev目录下的设备文档,比如tty(4) - 5:系统配置文件的格式说明,比如
passwd(5)就是/etc/passwd文件的格式规则文档 - 6:游戏、屏保类娱乐程序的文档
- 7:杂项说明,包括协议规范、通用惯例等内容,比如执行
man 7 ascii就能查看 ASCII 码对照表 - 8:系统管理员专属的特权命令,大多需要 root 权限才能执行,比如
mount(8) - 9:内核例程相关说明,多数发行版默认不会预装该分区内容
日常查询手册时,如果不加分区编号,man 命令会按分区编号从小到大的优先级,返回第一个匹配到的文档;如果要精准查找指定分区的内容,直接在 man 后加分区编号即可,比如查 execve 系统调用就执行 man 2 execve。


内容的提问来源于stack exchange,提问作者Ori
相关产品推荐
相关产品推荐

