论open(file,O_RDWR,0644)

说明以读写权力打开file这个文件,如果没有就创建

这里文件所有者是读写权益,文件所属者是读权益

 flags

  • 这是一个整数参数,用于指定打开文件的方式和选项。在 open(filename, O_RDWR, 0644) 中,O_RDWR 是一个预定义的宏,其值为文件以读写模式打开。
  • 常见的 flags 选项还有:
    • O_RDONLY:以只读模式打开文件。
    • O_WRONLY:以只写模式打开文件。
    • O_CREAT:如果文件不存在,则创建该文件。
    • O_TRUNC:如果文件已经存在,并且以写模式打开,则将文件长度截断为零。
    • O_APPEND:以追加模式打开文件,每次写入数据时都会追加到文件末尾。

0644精讲

八进制表示与权限对应关系

文件权限通过三个八进制数字来表示,每个数字对应不同的用户组,分别是文件所有者(user)、文件所属组(group)和其他用户(others)。每个八进制数字的取值范围是 0 - 7,它代表了一组特定的权限组合,这组权限由读(read,简写为 r)、写(write,简写为 w)和执行(execute,简写为 x)三种基本权限组合而成。

这三种基本权限对应的二进制和八进制表示如下:

  • 读权限(r):二进制表示为 100,对应的八进制值是 4
  • 写权限(w):二进制表示为 010,对应的八进制值是 2
  • 执行权限(x):二进制表示为 001,对应的八进制值是 1
  • 无权限:二进制表示为 000,对应的八进制值是 0

0644 各部分含义

1. 八进制数的第一个数字 0

在现代的文件权限设置中,这个前导的 0 用于明确表示后面跟着的是一个八进制数。在早期的 Unix 系统中,这个位置可能用于设置特殊权限,如设置用户 ID(SUID)、设置组 ID(SGID)和粘滞位(Sticky Bit),但在一般的权限设置中,通常用 0 表示不设置这些特殊权限。

2. 八进制数的第二个数字 6

这一位代表文件所有者的权限。将 6 转换为二进制是 110,它是由读权限(r,二进制 100)和写权限(w,二进制 010)组合而成的。这意味着文件的所有者对该文件具有读和写的权限,但没有执行权限。也就是说,文件所有者可以查看文件内容,也可以修改文件内容,但不能直接执行该文件(如果是可执行文件,需要额外添加执行权限)。

3. 八进制数的第三个数字 4

这一位代表文件所属组的权限。4 转换为二进制是 100,只对应读权限(r)。这表明文件所属组的成员只能查看文件内容,不能对文件进行修改,也不能执行该文件。

4. 八进制数的第四个数字 4

这一位代表其他用户的权限。同样,4 转换为二进制是 100,表示其他用户也只有读权限,即他们可以查看文件内容,但不能修改或执行该文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值