7、基础文件 I/O 操作详解

基础文件 I/O 操作详解

1. umask 系统调用

umask 系统调用用于设置和获取进程的文件模式创建掩码。其原型如下:

#include <sys/stat.h>
mode_t umask(
    mode_t cmask  /* new mask */
);
/* Returns previous mask (no error return) */

由于每个进程都有一个掩码,且所有九位的组合都是合法的,所以 umask 不会返回错误,它总是返回旧的掩码。若要在不改变掩码的情况下获取旧掩码,需要调用两次 umask:第一次以任意参数调用获取旧值,第二次恢复掩码原状。

2. unlink 系统调用

unlink 系统调用用于从目录中移除一个链接,将索引节点(i-node)中的链接计数减 1。若链接计数变为 0,文件系统将丢弃该文件,释放其占用的磁盘空间,并使索引节点可被重用。该进程必须对包含此链接的目录有写权限。其原型如下:

#include <unistd.h>
int unlink(
    const char *path  /* pathname */
);
/* Returns 0 on success or -1 on error (sets errno) */

任何类型的文件(普通文件、套接字、命名管道、特殊文件等)都可以被 unlink,但只有超级用户才能 unlink 目录,且在某些系统中,超级用户也无法这样做

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值