7、UNIX系统基础文件I/O操作全解析

UNIX系统基础文件I/O操作全解析

1. umask系统调用

在UNIX系统中,每个进程都有一个文件模式创建掩码,可通过 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 - 节点中的链接计数减1。若链接计数变为0,文件系统会丢弃该文件,释放其占用的磁盘空间,并使i - 节点可被复用。该进程必须对包含该链接的目录具有写权限。其原型如下:

#include <unistd.h>
int unlink(
    const char *path  /* pathname */
);
/* Returns 0 on success or -1 on error (se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值