复制文件描述符后新旧文件描述符特点|学习笔记

简介: 快速学习复制文件描述符后新旧文件描述符特点

开发者学堂课程【物联网开发- Linux 高级程序设计全套视频复制文件描述符后新旧文件描述符特点 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/660/detail/11032


复制文件描述符后新旧文件描述符特点

 

复制文件描述符后新旧文件描述符的特点:

使用dup或dup2复制文件描述符后,新文件描述符和旧文件描述符指向同一个文件,共享文件锁定、读写位置和各项权限。

例如:

通过新的文件描述符写入文件10个字节,读写位置偏10个字节之后。再通过旧的文件描述符写入,偏10个字节后写入。

当关闭新的文件描述符时,通过旧文件描述符仍可操作文件。

当关闭旧的文件描述时,通过新的文件描述符仍可可操作文件。

相关文章
|
19天前
|
算法 Linux C语言
【Linux系统编程】深入理解Linux目录操作:文件夹位置指针操作函数(telldir,seekdir,rewinddir)
【Linux系统编程】深入理解Linux目录操作:文件夹位置指针操作函数(telldir,seekdir,rewinddir)
29 0
|
7天前
|
存储 文件存储
<文件操作> 文件的打开与关闭,顺序读写,随机读写,二进制文件,读取结束的判定,文件缓冲区
<文件操作> 文件的打开与关闭,顺序读写,随机读写,二进制文件,读取结束的判定,文件缓冲区
19 1
|
19天前
|
存储 Unix Linux
Linux文件描述符和打开文件之间的关系
文件描述符和打开的文件之间似乎呈现出一一对应的关系。然而,实际并非如此。多个文件描述符指向同一打开文件,这既有可能,也属必要。这些文件描述符可在相同或不同的进程中打开。要理解具体情况如何,需要查看由内核维护的 3 个数据结构。进程级的文件描述符表。系统级的打开文件表。文件系统的 i-node 表。上述讨论揭示出如下要点。两个不同的文件描述符,若指向同一打开文件句柄,将共享同一文件偏移量。
24 0
Linux文件描述符和打开文件之间的关系
|
9月前
|
Unix
文件lseek操作产生空洞文件的方法
文件lseek操作产生空洞文件的方法
97 0
|
12月前
|
编译器
【文件指针+文件顺序读写操作函数】(2)
1.文件的打开和关闭 1.1 什么是文件指针? 每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名 字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是有系统 声明的,取名FILE. 假如:我们要操作一个文件,名为text.txt ,首先要打开文件,打开文件的同时,操作系统会自动为该文件创建一个文件信息区,专门用来记录该文件的信息。
|
12月前
|
存储
【文件指针+文件顺序读写操作函数】(1)
1.文件的打开和关闭 1.1 什么是文件指针? 每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名 字,文件状态及文件当前的位置等)。这些信息是保存在一个结构体变量中的。该结构体类型是有系统 声明的,取名FILE.
|
Linux C语言 Windows
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
191 0
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
|
物联网 Linux 开发者
命名管道创建及读写|学习笔记
快速学习命名管道创建及读写
68 0
|
编译器 C++ iOS开发
C++文件操作解析及使用(读、写文件 使用文件指针)
C++文件操作解析及使用(读、写文件 使用文件指针)
231 0
C++文件操作解析及使用(读、写文件 使用文件指针)
|
Linux
linux下两个进程可以同时打开同一个文件吗?返回的文件描述符一样吗?
linux下两个进程可以同时打开同一个文件吗?返回的文件描述符一样吗? 一:结论 1.两个进程中分别产生生成两个独立的fd 2.两个进程可以任意对文件进行读写操作,操作系统并不保证写的原子性 3.进程可以通过系统调用对文件加锁,从而实现对文件内容的保护 4. 任何一个进程删除该文件时,另外一个进程不会立即出现读写失败 5.两个进程可以分别读取文件的不同部分而不会相互影响 6.一个进程对文件长度和内容的修改另外一个进程可以立即感知   二:文件描述符与打开文件的关系? 内核中,对应于每个进程都有一个文件描述符表,表示这个进程打开的所有文件。
2851 0