基于文件描述符的文件操作(一):文件描述符

By AverageJoeWang
 标签:

一.概述

文件描述符在形式上是一个非负整数。实际上,它是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。但是文件描述符这一概念往往只适用于UNIX、Linux这样的操作系统。

二.文件描述符

内核为每个进程维护一个已打开文件的记录表,文件描述符是一个较小的正整数(0—1023),它代表记录表的一项,通过文件描述符和一组基于文件描述符的文件操作函数,就可以实现对文件的读、写、创建、删除等操作。

常用基于文件描述符的函数有

函数名 解释
open (打开)
creat (创建)
close (关闭)
read (读取)
write (写入)
ftruncate (改变文件大小)
lseek (定位)
fsync (同步)
fstat (获取文件状态)
fchmod (权限)
flock (加锁)
fcntl (控制文件属性)
dup (复制)
dup2 (复制)
select
ioctl

基于文件描述符的文件操作并非ANSI C的函数。

  • 可以通过下面的方式查询
man 函数名  查看该函数的帮助。

接下来及篇笔记是关于linux操作系统下的基于文件描述符的文件操作函数的一些学习记录。