1 - commands(普通的命令)
2 - system calls(系统调用)
通过该section可查询函数系统调用库文件(头文件)等
4 - special files(特殊文件:/dev下设备文件)
5 - file formats and convertions(文件格式)
例:passwd, 就会说明这个文件中各个字段的含义
7 - macro packages and conventions(杂项)
8 - system management commands(管理员命令)
9 - 其他(Linux特定, 用来存放内核例行程序的文档)
open既有命令,又有系统调用
man open 查看open普通命令(默认从最前面section开始)
man 2 open 查看open系统调用
库函数和系统调用
库函数
完全运行在用户空间, 为程序员提供调用真正的在幕后完成实际事务的系统调用的更方便的接口
系统调用
在内核态运行并且由内核自己提供
系统调用可编写进行覆盖(可重写)
C库函数printf()
printf() 可看做是个通用输出语句,但实际是将数据转化为符合格式字符串且调用系统调用 write() 输出这些字符串
查看printf()的系统调用
②命令gcc -Wall -o hello hello.c 编译
③命令 strace hello 跟踪该可执行文件
每一行都和一个系统调用相对应
strace工具
非常有用的程序,查看程序使用系统调用和这些系统调用的参数,返回值