linux open函数头文件,unix/linux 编程学习笔记- 文件描述符和 open 函数

最近更新:26th 4月, 2015

来说一说 unix/linux中对于文件操作的这几个函数,这几个函数基本上可以满足我们对于 linux 中任何文件的需求,

首先说一说 open这个函数

在 linux 中要对文件进行操作都要先相应的将文件打开然后在处理,为什么要这么做呢?那是因为进程和文件在之间不可以直接操作,要想进程对文件操作首先要用系统调用在进程和文件之间简历一条连接,这个连接成为文件描述符,叫就像一条由进程通向内核内核的管道,构建起进程和文件之间的关系。

具体的对文件描述符的理解可以通过它的使用方法来理解,文件描述符(file descriptor)通常是一个小的非负整数。内核用它标识一个特定的进程正在访问的文件。当内核打开一个以友的文件或者创建一个新的文件时,他发回一个文件描述符(非负整数)。在读写文件时就可以使用它。

简单的介绍一下open这个函数

1

2

3

4

5

6

7

8

9

目标打开一个文件,让进程可以对文件进行操作。

头文件                      #include

函数原型         intfd=open(char*name,inthow)

参数

name             // 文件名

how               // 打开模式

O_RDONLY,O_WEONLY,orO_REWR// 返回值

intfd             // 返回的文件描述符(非负整数)

-1                   //  遇到错误

如果文件被顺利的打开则反悔一个正整数的值,这个值就是文件描述符,既然文件描述符是建立文件和进程之间的连接的,那么这个 int 类型的返回值是有什么作用呢?其实这个 int 返回值也就是文件描述符是用来卫衣标识这个进程和文件的连接的。如果同时打开多个文件,他们的文件描述符是不同的,如果一个文件被多个进程同时打开他们的文件描述符也是不同的。这就是文件描述符的唯一性,并且其他函数必须通过文件描述符对文件进行操作。

运用 open 这个函数就可以让我们打开一个文件,讲进程和文件关联起来。但是当文件被顺利打开是否允许再次打开呢?这种情况多发生在多个进程访问一个文件的情况,unix/linux 并不禁止一个文件同时被多个进程访问,如果禁止的话多用户模式中很多命令就不可使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值