- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux程序设计-第4章概要
嵌入式操作系统应用开发--Linux程序设计 陈晓雷 第4章 文件与目录 4.1 文件 4.2 文件类型 4.3 文件的属主和用户组 4.4 文件方式 4.5 确定和改变文件方式 4.6 文件大小 4.7 文件时间 4.8 文件的删除与换名 4.9 目录操作 * 4.1 文件 文件—存放数据的容器 逻辑上-连续字节流 物理上-存储介质上的数据块 文件由两部分组成: 数据块 inode—描述文件特征的数据结构-元数据 inode主要信息 类型—6种 属主关系 访问权限 时间戳 相关命令:ls stat * 4.1 文件 4.1.1 stat()、fstat()和lstat()函数 查看文件的特征,即它的inode状态信息 #include sys/types.h #include sys/stat.h int stat (const char *pathname, struct stat *buf); int fstat (int filedes, struct stat *buf); int lstat (const char *pathname, struct stat *buf); stat结构:见表4-1 例: 4.2 文件类型 stat结构成员st_mode表示文件类型 普通文件、目录、符号链接、设备文件、FIFO、套接字 4.2.1 普通文件 4.2.2 目录 由登记项组成的一张表 目录登记项用来映射文件名和对应的inode ls -ai * 4.2 文件类型 4.2.3 链接与link()函数 链接—多个文件名表示同一个文件 硬链接—文件登记项 一个文件只有一个inode 文件链接数—inode的st_nlink域 硬链接的局限性: 不能跨文件系统 一般用户不能创建目录的硬链接 #include unistd.h int link (const char *exitingpath, const char *newpath); 例p4-2.c * 4.2 文件类型 4.2.4 符号链接与symlink()和readlink()函数 符号链接—指向另一个文件的特殊文件 符号链接有自己的inode,指向的是文件的路径名 灵活,可跨文件系统,可链接目录 函数symlink()创建符号链接 #include unistd.h int symlink (const char *path, const char *sympath); 注意:区别符号链接文件本身和所链接的文件 表4-2相关函数 #include unistd.h int readlink (const char *pathname, char *buf, int bufsize); * 4.2 文件类型 4.2.5 特别文件—设备文件 物理设备映射到文件系统中的文件名 mknod()系统调用创建 /dev目录 字符设备与块设备 设备I/O使用与文件I/O相同的系统调用集合 4.2.6 测试文件的类型 表4-3 文件类型谓词宏 例p4-3.c * 4.3 文件的属主和用户组 每个文件都有属主和属主所在的组 ls -l st_uid st_gid 与每个进程相关的各种用户ID和组ID 表4-4 chown()、fchown()和lchown()函数 int chown(const char *pathname, uid owner, gid group); int fchown(int filedes, uid owner, gid group); int lchown(const char *pathname, uid owner, gid group); 改变文件属主关系的限制 * 4.4 文件方式 stat结构的st_mode成员(文件类型和方式) 4.4.1 文件访问权限 3种用户、3种访问 9个方式位:3个8进制数字表示 对应的宏常数 表4-5 目录的访问权限解释 目录的读权限 目录的写权限 目录的执行权限—检索权限 文件访问权限的一般规则 教材 * 4.4 文件方式 4.4.2 调整用户ID和调整组ID S_ISUID S_ISGID 例:/sys/bin/passwd /etc/passwd 4.4.3 sticky位 S_ISVTX 交换区 现已过时 目录的sticky位用于保护文件:只有文件属主、目录属主、超级用户才可以删除、移动、重新命名该目录中的文件 4.4.4 文件方式位小结—表4-6 st_mode 例:p4-4. * 4.5 确定和改变文件方式 4.5.1 umask()函数 屏蔽(禁止的)访问权限 umask(1)命令 umask(2)函数 mode_t umask(mode_
您可能关注的文档
最近下载
- NB∕T 47010-2017 承压设备用不锈钢和耐热钢锻件(高清版).pdf VIP
- 车辆风险预警方法、路侧控制单元及风险预警控制系统.pdf VIP
- 2025年版《中文核心期刊要目总览》.docx VIP
- 密码学基础-密码学.ppt VIP
- 中国国家标准 GB/T 4706.1-2024家用和类似用途电器的安全 第1部分:通用要求.pdf
- 灯具安装技术交底1.docx VIP
- 乙烯三机:发展与未来.pptx VIP
- NB/T 47008-2017 承压设备用碳素钢和合金钢锻件.pdf VIP
- 密钥管理与密钥分配现代密码学.ppt VIP
- 初中信息技术校本课程《遨游3D世界,利用三维设计软件制作创意作品》教案.doc VIP
文档评论(0)