本文主要是介绍Linux unlink/unlinkat/remove 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、函数声明
- 1.1 函数各功能简述
- 二、实例
- 2.1 基本使用(删除文件,与目录)
- 2.1.1 unlink (结果,文件删除成功,无法删除目录)
- 2.1.2 跟踪rm -r (其使用的是unlinkat系统调用)
- 2.1.3 unlinkat (带AT_REMOVEDIR时,能删除文件夹,不带时能删除文件)
- 2.1.4 remove(可以删除文件,或者文件夹)
- 2.2 创建临时文件
- 2.2.1运行结果
- 三、总结
一、函数声明
#include <unistd.h>int unlink(const char *pathname);#include <fcntl.h> /* Definition of AT_* constants */
#include <unistd.h>int unlinkat(int dirfd, const char *pathname, int flags);#include <stdio.h>int remove(const char *pathname);
1.1 函数各功能简述
- unlink 只可以删除文件。
- unlinkat 可以删除文件(默认)或文件夹(需要设置flags为AT_REMOVEDIR)。
- remove 可以删除文件,或者文件夹。【可以认为remove底层是unlinkat一样的实现,只不过不需要针对是文件夹时,指定参数AT_REMOVEDIR】
二、实例
2.1 基本使用(删除文件,与目录)
2.1.1 unlink (结果,文件删除成功,无法删除目录)
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>int main(int argc, char **args)
{if (unlink("test") < 0) {perror("unlink file test with fail");exit(-1);}return 0
这篇关于Linux unlink/unlinkat/remove 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!