linux中文件基本io操作,linux文件的IO操作.doc

linux文件的IO操作.doc

linux文件的I/O操作

1、具体来说,有以下几种文件类型(控制台ls -l命令的第一列即为文件类型):

符号类型符号类型s套接字文件d目录文件l链接文件b块设备文件c字符设备文件p管道文件-普通文件

另外,有几个特殊的文件,标准输入,标准输出,标准出错

类型文件描述符说明标准输入0它是命令的输入,默认是键盘,也可以是文件或其他命令的输出。使用''或'1>'符号进行重定向。标准出错2它是命令出错信息的输出,默认是屏幕,也可以是其他文件。使用'2>'符号进行重定向。

2、LINUX通过文件权限,来管理文件的读/写/执行(wrx)权限。

3/文件操作函数总结:

在开始列写具体函数之前,我们首先列出文件I/O中的常用参数表:

flag参数(头文件:fcntl.h)

取值含义O_RDONLY以只读方式打开文件O_WRONLY以只写方式打开文件O_RDWR以读写方式打开文件O_CREAT若要打开的文件不存在,则创建一个。权限在mode参数中说明O_EXCL与O_CREAT配合使用以验证一个文件是否存在O_TRUNC如果文件存在,且以只读或只写方式打开,则将其长度截短为0O_NOCTTY如果文件描述符指向终端设备,则不将此设备分配为此进程控制终端O_APPEND写入时追加到文件结尾O_NONBLOCK将后续的I/O操作设置为非阻塞方式O_NONELAY功能不那么完善的O_NONBLOCKO_SYNC只有数据被写入外存或其他设备之后操作才返回

mode参数(头文件:fcntl.h)

取值八进制含义S_ISUID04000设置用户识别号S_ISGID02000设置组号S_SVTX01000粘贴位S_IRUSR00400文件所有者的读权限位S_IWUSR00200文件所有者的写权限位S_IXUSR00100文件所有者的执行权限位S_IWGRP00040该组用户的读权限位S_IRGRP00020该组用户的写权限位S_IXGRP00010该组用户的执行权限位S_IROTH00004其他组用户的读权限位S_IWOTH00002其他组用户的写权限位S_IXOTH00001其他组用户的执行权限位S_IRWXU00600文件所有者的读+写+执行权限S_IRWXG00060该组用户的读+写+执行权限S_IRWXO00006其他组用户的读+写+执行权限

whence参数(头文件:sys/types.h)

取值含义SEEK_SET将该文件的位移量设置为距文件开始处offset个字节处SEEK_CUR将该文件的位移量设置为距当前位置offset个字节处。offset可正可负。SEEK_END将该文件的位移量设置为距文件结尾处offset个字节处offset可正可负。

cmd参数(头文件:fcntl.h)

取值相应操作F_DUPFD复制一个现存文件描述符F_GETFD获得文件描述符F_SETFD设置文件描述符F_GETFL获得文件状态标志F_SETFL设置文件状态标志F_GETOWN获得异步I/O权F_SETOWN设置异步I/0权F_GETLK获得记录锁F_SETLK设置记录锁,不等待F_SETLKW设置记录锁,必要时等待

3、文件描述符的I/O操作

打开函数

#include

#include

#include

int open( const char * pathname, int flags);

int open( const char * pathname,int flags, mode_t mode);

两个函数在成功后都返回文件描述符,以用作后续操作,并且将该文件的引用计数器值加1;出错返回-1。mode参数可以直接使用八进制表示。

创建函数

#include

int creat(const char *pathname, mode_t mode);

成功则返回文件描述符,以用作后续操作;出错返回-1。创建成功后以只写方式打开文件。

creat函数等效于open(pathname, O_WRONLY | O_CREAT | O_TRUNC,

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值