5、Linux文件操作:打开、读写与权限管理

Linux文件操作:打开、读写与权限管理

1. 文件打开与截断

若文件存在且为常规文件,同时给定的标志允许写入,文件将被截断为零长度。不过,在FIFO或终端设备上使用 O_TRUNC 会被忽略,在其他文件类型上使用则未定义。指定 O_TRUNC O_RDONLY 同样未定义,因为截断文件需要写入权限。

示例代码如下:

int fd; 
fd = open ("/home/teach/pearl", O_WRONLY | O_TRUNC); 
if (fd == -1) 
    /* error */

此代码尝试以写入模式打开文件 /home/teach/pearl ,若文件存在则截断为零长度。由于未指定 O_CREAT 标志,若文件不存在,调用将失败。

2. 新文件的所有者与所属组
  • 所有者 :新文件的所有者用户ID(uid)是创建该文件的进程的有效用户ID。
  • 所属组 :确定所属组更为复杂。默认情况下,文件的组ID(gid)会设置为创建该文件的进程的有效组ID,这是System V的行为,也是大多数Linux系统的标准操作方式。不过,BSD定义了自己的行为,即文件的组ID会设置为其父目录的组ID。在Linux上,可通过挂载时的选项实现此行为;若文件的父目录设置了setgid位,默认也会
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值