版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四 文件系统(下一、#include<unistd.h>voidsyncintfsyncintintfdatasync(int成功返回0,失败返回-1+-fwrite->标准库缓冲-fflush- 应用程序内存- +->内核缓冲-fdatasync->磁盘(缓冲+------------write------------ 二、#include<fcntl.h>intfcntl(intfd,//文件描述符intcmd,//操作指令 #includeintfcntl(intfd,intintfcntl(intfd,intcmd,longF_DUPFDfd为不小于arg的文件描述符。F_GETFDF_SETFD目前仅定义了一个文件描述符标志位F_GETFL不能获取O_CREAT/O_EXCL/O_TRUNCF_SETFL只能追加O_APPEND/O_NONBLOCK范例:dup.c、#includeintfcntl(intfd,intcmd,structflock*lock);structflockshortint //shortintl_whence;//偏移起点:////(文件头/当前位置/文件尾)off_tl_start;//锁区偏移,从l_whence开始off_tl_len;,0 1F_GETLKlockF_SETLK-设置锁定状态为lock.l_type,wlock|wlockwlockl|wlockl#wlock达内科技有限公司|#wlockl|rlockl#includeintstatconstchar*path,//文件路径structstat* //文件属intfstat fd,structstat*buf//文件属性intlstatconstchar*path,//文件路径structstat* //文件属structstat{ //设备 //i节点号 //文件类型和权限 //硬链接数 //属主ID //属组ID //特殊设备ID //总字节数blksize_tst_blksize;//I/O块字节数blkcnt_tst_blocks;//占用块(512字节)数 //最后访问时间 //最后修改时间 //最后状态改变时间\||>TT|-Unix域套接字-有名管 ID -设置组 > -粘 S_IRUSR(S_IREAD)-属主可读 S_IWUSR(S_IWRITE)-属主可写 >U(S_IRWXU)S_IXUSR(S_IEXEC)-属主可执 -属组可 >G/\>O/如S_ISDIR()-是否目录S_ISREG()-是否普通文件S_ISLNK()-是否软链接S_ISBLK()-是否块设备S_ISCHR()-是否字符设备S_ISSOCK()UnixS_ISFIFO()四、#include<unistd.h>intaccess(constchar*pathname,//文件路径 //访问模成功返回0,失败返回-1#umask#umask0033#umaskmode_tumask(mode_tcmask如022-屏蔽属组和其它用户的写权限):S_IRUSR(S_IREAD)-属主可读S_IWUSR(S_IWRITE)S_IXUSR(S_IEXEC) 六、intchmod(constchar*path, modeintfchmod fd,//文件路径mode_tmode成功返回0,失败返回-1如07654-rwSr-sr-T): -设置用户 -设置组 S_IRUSR(S_IREAD)-属主可读S_IWUSR(S_IWRITE)S_IXUSR(S_IEXEC) 范例七、#chown<uid>:<gid>intchown(constchar*path, owner groupintfchown fildes,//文件描述符uid_towner, //属主IDgid_tgroup //属组IDintlchownconstchar*path, owner,//属主ID group八、#include<unistd.h>inttruncateconstchar*path,//文件路径 length//文件长intftruncate off_tlength//文件长度九、link:创建文件的硬链接(目录条目)。unlinkremove:对文件同对目录同rmdirrename#include<unistd.h>intlinkconstchar*path1constchar*path2intunlinkconstchar*pathintremove(constchar*pathnameintrenameconstchar*old,constchar*new成功返回0,失败返回-1十、symlinkreadlink#includeintsymlinkconstchar*oldpath,//文件路径(可以不存在)constchar*newpath //链接路径ssize_treadlink(constchar*restrictpath, //软链接文件路径char*restrict //缓冲区 bufsize范例十一、mkdir:rmdir:#include<sys/stat.h>intmkdirconstchar*path,//目录路径mode_tmode(x)intrmdir(constchar*pathchdir/fchdirgetcwd#include<unistd.h>intchdirconstchar*pathintfchdirintfildesopenchar*getcwd(char*buf,//缓冲区size_tsize十三、opendir/fdopendir:closedir:关闭目录流。readdir:读取目录流。rewinddir:复位目录流。telldir:获取目录流当前位置。seekdir:设置目录流当前位置。#include<dirent.h>DIR*opendirconstchar*nameDIR*fdopendirintfdopenintclosedir(DIR*dirpstructdirent*readdirDIR*dirp针到达目录尾(不置errno)或失败(设置errno)返回NULLstructdirent i unsignedshortd_reclen; //记录长度unsignedchar //文件类型 d_name[256]; -字符设备 -有名管道DT_UNKNOWN-未知voidrewinddirDIR*dirplongtelldirDIR*dirpvoidseekdir(DIR*dirp,//目录流指针longoffset
+----------------------- +-------+---|---+-----+------- +-------+---|---+-----+------
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拆墙工程与劳务分包合同的关系
- 样板房验收合同协议
- 厨卫电器经销商协议范本
- 简易结构拆除工程合同
- 管道安装合同案例模版
- 取消建筑施工合同协议
- 2024年度矿山开采爆破技术应用服务合同
- 物业安全应急预案服务合同
- 农产品购销协议书
- 抗冲击塑料垃圾桶采购合同
- 小红书平台调研分析报告
- 不动产测绘培训课件
- 纸质文物保存修复技术研究
- 学无止境终身学习的重要性
- 粤教版小学科学六年级上册单元测试卷附答案(全册)
- 物业工程部培训资料全课件
- 12《我们小点儿声》(教案)部编版道德与法治二年级上册
- 北京市东城区2023-2024学年六年级上学期期末数学试卷
- 加装电梯设计方案
- 揭秘男性早泄的3大主谋
- 门静脉高压症患者的日常生活注意事项
评论
0/150
提交评论