link,linkat,unlink,unlinkat,remove函数
来源:互联网 发布:软件外包专业 编辑:程序博客网 时间:2024/05/22 17:37
1.link,linkat函数
1.1函数原型
#include <unistd.h>
int link(const char* existingpath, const char* newpath);
int linkat(int efd, const char* existingpath, int nfd, const char* newpath,int flag);
成功返回0,失败返回-1.
1.2函数简单说明
link函数创建新的文件链接newpath(硬链接)到existingpath。如果newpath已经存在则返回错误。
link函数只有最后的部分会被创建,其余肯定已经存在。
linkat函数已存在文件被efd和existingpath定义。而新建的链接由nfd和newpath定义。
默认情况下路径都是相对于fd文件的相对路径。但是如果相对应的fd设置了AT_FDCWD标志,那么相对路径是相对当前路径。如果路径是绝对路径,则fd被忽略。
如果指向的文件是软连接,那么flag控制新创建的链接指向软链接还是软链接指向的文件。如果AT_SYMLINK_FOLLOW标志被设置了,那么指向的是链接指向的文件。不然指向的是链接本身。
新的文件创建和node数增加是一个原子操作。
而且大多数应用系统要求两个文件不能是跨文件系统的。
2.unlink,unlinkat函数
2.1函数原型
#include <unistd.h>
int unlink(const char* pathname);
int unlinkat (int fd,const char* pathname, int flag);
成功返回0,失败返回-1.
2.2函数简单说明
两个函数删除文件入口,并且减少pathname的文件链接数。如果文件还有其他硬链接,数据也可以通过该硬链接读取。
删除一个文件链接,我们必须要文件所在目录的写权限和操作权限。如果目录的sticky bit设置了。那么我们要有写权限和下面三种选项的一种
1.文件所有者2.目录所有者3.超级用户
只有当文件链接减为0时文件才可以被删除。如果文件被程序打开了要等程序结束关闭文件后删除。
其它用法和上面的一样。
3.remove函数
3.1函数原型
#include<stdio.h>
int remove(const char* pathname);
成功返回0,失败返回-1.
3.1函数简单说明
对于文件来说,remove和unlink一样,对于目录,remove和rmdir一样。
0 0
- link,linkat,unlink,unlinkat,remove函数
- link, linkat, unlink, unlinkat, and remove Functions
- link、unlink、remove和rename
- unlink remove 函数详解
- unlink remove 函数解析
- unlink函数 与 remove函数
- link() 和 unlink()函数示例
- unix环境高级编程-4.15-link,unlink,remove和rename函数
- 文件与目录操作--link、unlink、remove和rename函数 及 文件与目录--utime函数
- link unlink
- link,unlink,rename函数之解析
- unlink remove
- Linux中link,unlink,close,fclose函数详解
- 4.15 link、unlink函数-创建和删除硬链接
- Linux中link,unlink
- link和unlink讲解
- unlink函数
- unlink 函数
- python3.5之写文件
- Windows+Git+GitHub
- Shell自删除脚本
- cmd操作
- 大数据、人工智能普及之后,零售业未来的智能化
- link,linkat,unlink,unlinkat,remove函数
- Difference between JSP forward and redirect.
- mybatis插入数据错误
- 注意!北上广深"认房又认贷"!此轮楼市"猛药"影响了谁?
- du命令、df命令用法
- Windows C++服务器 全局秒级高效计时处理器
- 欢迎使用CSDN-markdown编辑器
- 标准USB设备请求命令
- jetson TX1(4)-- 在 TX1上面安装 tensorflowr0.9