Linux开发讲课6---Linux 文件系统与设备文件系统

        由于字符设备和块设备都很好地体现了“一切都是文件”的设计思想,掌握 Linux 文件系统、设备文件系统的知识非常重要。

        首先,设备驱动最终通过操作系统的文件系统调用或 C 库函数(本质也基于系统 调用)被访问。

        其次,驱动工程师在设备驱动中不可避免地会与设备文件系统打交道,如 Linux 2.4 内核的 devfs 文件系统和 Linux 2.6 内核的基于 sysfs 的 udev 文件系统。

        1、Linux 文件操作

        文件操作的相关系统调用 Linux 的文件操作系统调用(在 Windows 编程领域,习惯称操作系统提供的接口 为 API)涉及创建、打开、读写和关闭文件。

         1.1.创建

        参数 mode 指定新建文件的存取权限,它同 umask 一起决定文件的最终权限(mode&umask),其中 umask 代表了文件在创建时需要去掉的一些存取权限。umask 可通过系统调用 umask()来改 变,如下所示:

      

        该调用将 umask 设置为 newmask,然后返回旧的 umask,它只影响读、写和执行 权限。

        1.2.打开

        除了可以通过上述宏进行“或”逻辑产生标志以外,我们也可以自己用数字来表 示,Linux 总共用 5 个数字来表示文件的各种权限:第一位表示设置用户 ID;第二位 表示设置组 ID;第三位表示用户自己的权限位;第四位表示组的权限;第五位表示其 他人的权限。每个数字可以取 1(执行权限)、2(写权限)、4(读权限)、0(无)或 者是这些值的和。 例如,如果要创建一个用户可读、可写、可执行,但是组没有权限,其他人可以 读、可以执行的文件,并设置用户 ID 位。那么,应该使用的模式是 1(设置用户 ID)、 0(不设置组 ID)、7(1+2+4,读、写、执行)、0(没有权限)、5(1+4,读、执行) 即 10705,如下所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值