一、概念
man(manual)是 Linux系统中内置的离线帮助文档系统,涵盖了从用户命令、系统调用、库函数到配置文件、设备文件的所有官方文档,是最权威、最准确的参考资料。
二、man手册的完整章节体系
章节号 内容类型 示例1 用户命令(可执行程序) ls, cd, grep, man2 系统调用(内核提供的接口) open, read, write, fork, exec3 库函数(C 标准库 / 其他库) printf, malloc, strcpy, pthread_create4 特殊文件(设备文件) /dev/null, /dev/sda5 文件格式和配置 /etc/passwd, /etc/fstab6 游戏和演示程序 (不常用)7 杂项(协议、宏等) errno, regex, ipv48 系统管理命令 sudo, mount, systemctl
三、man手册使用
#格式:man [章节号] 名称
man 2 open # 查系统调用open(章节2)
例如,查阅man 2 open时,手册会包含以下核心部分,这是理解 API 的关键:
1)NAME:函数名和简短描述;
2)SYNOPSIS:函数原型、头文件(核心);
3)DESCRIPTION:函数功能、参数含义(如flags的取值O_RDONLY/O_WRONLY/O_CREAT等);
4)RETURN VALUE:返回值说明(成功返回文件描述符,失败返回 - 1 并设置 errno);
5)ERRORS:所有可能的错误号及含义(如ENOENT/EACCES/EINVAL等);
6)VERSIONS:这个函数 / 系统调用从哪个 Linux 内核版本、哪个glibc版本开始支持 / 发生了变化;
7)CONFORMING TO:这个函数/系统调用/库函数 遵循了哪些国际标准、POSIX 标准、C 标准;
8)NOTES: 重要提醒、坑点、特殊说明、必须知道的事(踩坑指南);
9)SEE ALSO:相关函数(如close、creat、fopen)。
