linux文件的IO操作.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux文件的IO操作.doc

linux文件的I/O操作 1、具体来说,有以下几种文件类型(控制台ls -l命令的第一列即为文件类型): 符号 类型 符号 类型 s 套接字文件 d 目录文件 l 链接文件 b 块设备文件 c 字符设备文件 p 管道文件 - 普通文件 另外,有几个特殊的文件,标准输入,标准输出,标准出错 类型 文件描述符 说明 标准输入 0 它是命令的输入,默认是键盘,也可以是文件或其他命令的输出。使用或0符号进行重定向。 标准输入 1 它是命令的输出,默认是屏幕,也可以是其他文件。使用或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 如果文件存在,且以只读或只写方式打开,则将其长度截短为0 O_NOCTTY 如果文件描述符指向终端设备,则不将此设备分配为此进程控制终端 O_APPEND 写入时追加到文件结尾 O_NONBLOCK 将后续的I/O操作设置为非阻塞方式 O_NONELAY 功能不那么完善的O_NONBLOCK O_SYNC 只有数据被写入外存或其他设备之后操作才返回 mode参数(头文件:fcntl.h) 取值 八进制 含义 S_ISUID 04000 设置用户识别号 S_ISGID 02000 设置组号 S_SVTX 01000 粘贴位 S_IRUSR 00400 文件所有者的读权限位 S_IWUSR 00200 文件所有者的写权限位 S_IXUSR 00100 文件所有者的执行权限位 S_IWGRP 00040 该组用户的读权限位 S_IRGRP 00020 该组用户的写权限位 S_IXGRP 00010 该组用户的执行权限位 S_IROTH 00004 其他组用户的读权限位 S_IWOTH 00002 其他组用户的写权限位 S_IXOTH 00001 其他组用户的执行权限位 S_IRWXU 00600 文件所有者的读+写+执行权限 S_IRWXG 00060 该组用户的读+写+执行权限 S_IRWXO 00006 其他组用户的读+写+执行权限 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操作 打开函数 #includesys/types.h #includesys/stat.h #includefcntl.h int open( const char * pathname, int flags); int open( const char * pathname,int flags, mode_t mode); 两个函数在成功后都返回文件描述符,以用作后续操作,并且将该文件的引用计数器值加1;出错返回-1。mode参数可以直接使用八进制表示。 创建函数 #include fcntl.h int creat(const char *pathname, mode_t mode); 成功则返回文件描述符,以用作后续操作;出错返回-1。创建成功后以只写方式打开文件。 creat函数等效于open(pathname, O_WRONLY | O_CREAT | O_TRUNC, mode); 如果想创建后以读写方式打开,则

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档