跳到主要内容

unlink() 函数的作用是?

参考答案:

unlink() 函数是 Unix 和类 Unix 系统(包括 Linux)中用于删除文件或目录项的系统调用。这个函数的主要作用是从文件系统中删除一个已存在的文件或目录项。

具体来说,unlink() 函数接受一个参数,即要删除的文件或目录的路径名。如果成功,函数返回 0;如果失败,返回 -1 并设置全局变量 errno 以指示错误原因。

需要注意的是,unlink() 只是删除了文件或目录的目录项,而并不保证立即释放该文件或目录占用的磁盘空间。实际上,只有当最后一个指向该文件的链接被删除,且没有其他进程打开该文件时,该文件占用的磁盘空间才会被释放。这种机制允许实现文件的硬链接(即多个路径名指向同一个文件内容)。

此外,如果 unlink() 作用于一个目录,那么该目录必须为空,否则调用会失败。要删除一个非空目录,通常需要递归地删除其所有内容,然后再删除目录本身。

在 C 语言中,unlink() 函数的原型如下:

#include <unistd.h>

int unlink(const char *pathname);

其中,pathname 是指向要删除的文件或目录路径名的字符串。