版权所有 © 2014 tutorialspoint
unlinkat - 删除相对于目录文件描述符的目录条目
#include <fcntl.h> int unlinkat(int dirfd, const char *pathname, int flags);
int unlinkat(int dirfd, const char *pathname, int flags);
unlinkat() 系统调用与 unlink(2) 或 rmdir(2) 的操作方式完全相同(取决于flags是否包含AT_REMOVEDIR标志),但本手册页中描述的差异除外。
如果在pathname中给出的路径名是相对路径,则它相对于文件描述符dirfd所引用的目录进行解释(而不是相对于调用进程的当前工作目录,unlink(2) 和 rmdir(2) 对相对路径名就是这样做的)。
如果在pathname中给出的路径名是相对路径,并且dirfd是特殊值AT_FDCWD,则pathname相对于调用进程的当前工作目录进行解释(就像unlink(2) 和 rmdir(2) 一样)。
如果在pathname中给出的路径名是绝对路径,则忽略dirfd。
flags是一个位掩码,可以指定为0,也可以通过按位或运算符将控制unlinkat()操作的标志值组合在一起。目前只定义了一个这样的标志。
成功时,unlinkat() 返回0。发生错误时,返回-1,并设置errno以指示错误。
请参阅openat(2) 以了解unlinkat()的需求。
此系统调用是非标准的,但建议将其包含在POSIX.1的未来修订版中。Solaris上存在类似的系统调用。
unlinkat() 在内核 2.6.16 中添加到 Linux。
openat (2)
path_resolution (2)
rmdir (2)
unlink (2)
广告