基础文件 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 目录,且在某些系统中,超级用户也无法这样做
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



