近来更新:26th4月,2015
来说一说unix/linux中对于文件操作的这几个函数,这几个函数基本上可以满足我们对于linux中任何文件的需求,
首先说一说open这个函数
在linux中要对文件进行操作都要先相应的将文件打开之后在处理linux 文件描述符,为何要如此做呢?那是由于进程和文件在之间不可以直接操作,要想进程对文件操作首先要用系统调用在进程和文件之间简历一条联接,这个联接成为文件描述符,叫犹如一条由进程通向内核内核的管线,建立起进程和文件之间的关系。
具体的对文件描述符的理解可以通过它的使用方式来理解,文件描述符(filedescriptor)一般是一个小的非负整数。内核用它标示一个特定的进程正在访问的文件。当内核打开一个以友的文件或则创建一个新的文件时,他发回一个文件描述符(非负整数)。在读写文件时就可以使用它。
简单的介绍一下open这个函数
1
2
3
4
5
6
7
8
9
目标打开一个文件linux 文件描述符linux多线程,让进程可以对文件进行操作。
头文件#include
函数原型intfd=open(char*name,inthow)
参数
name//文件名
how//打开模式
O_RDONLY,O_WEONLY,orO_REWR//返回值
intfd//返回的文件描述符(非负整数)
-1//遇见错误
假如文件被顺利的打开则毁约一个正整数的值linux系统装win7,这个值就是文件描述符,既然文件描述符是构建文件和进程之间的联接的,这么这个int类型的返回值是有哪些作用呢?虽然这个int返回值也就是文件描述符是拿来大衣标示这个进程和文件的联接的。假如同时打开多个文件,她们的文件描述符是不同的,假如一个文件被多个进程同时打开她们的文件描述符也是不同的。这就是文件描述符的惟一性,但是其他函数必须通过文件描述符对文件进行操作。
运用open这个函数就可以让我们打开一个文件,讲进程和文件关联上去。并且当文件被顺利打开是否容许再度打开呢?这些情况多发生在多个进程访问一个文件的情况,unix/linux并不严禁一个文件同时被多个进程访问,假如严禁的话多用户模式中好多命令就不可使用。
本文由落格博客原创撰写:落格博客»unix/linux编程学习笔记-文件描述符和open函数