Linux内核入门(二)——open、close、read、write、lseek函数
前言
在上一篇博文中,我提到“内核提供一系列具备预定功能的内核函数,通过一组称为系统调用(system call)的接口呈现给用户”,那么所谓的“系统调用”,长什么样子呢,这里就记录几个常见的系统调用函数,我们可以通过这几个函数,向内核提交请求,获取内核函数的服务入口(系统调用表),体验一下从用户态–>内核态–>用户态的一个过程。
学习这几个函数的方法:在ubuntu终端使用man帮助命令。
例如:查看open函数的使用方法,直接输入:
man open
出现的是如下页面,显然不是我们想要的那个open函数
正确做法是:先输入:
whatis open
会出现:
open (1) - start a program on a new virtual terminal (VT).
open (2) - open and possibly create a file
这里看到有两个open,第一个用来开启一个程序,也就是上面man页面显示的那个,我们不关心。
我们想要查看第二个open,即用来打开或创建一个文件的open函数,看到有个(),里面写着“2”,说明这个帮助文档在第二章,我们应该输入:
man 2 open
1. open()函数
功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。
所需头文件:
#