版權所有 © 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)
廣告