博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Linux编程-链接函数

Posted on 2023-03-17 09:53  乔55  阅读(13)  评论(0编辑  收藏  举报

链接函数

// 基本概念
- 硬链接:其实是目录项的同义词,且不可以给分区、目录建立硬链接
- 符号链接:可以给跨分区、目录建立符号链接



// link函数
- int link(const char *oldpath, const char *newpath);
- 为某文件创建硬链接,本质是创建一个新的目录项
- 成功返回0,失败返回-1并设置errno


// unlink函数
- int unlink(const char* pathname);
- 功能:删除一个文件的目录项
- 若文件是符号链接,则直接删除符号链接
- 若文件是硬链接,硬链接数减1,当减至0时已经没有dentry与之对应,但该文件不会被马上释放,要等到所有打开该文件的进程和线程结束,系统才择机将文件释放,从某种意义上,unlink文件后,只是让文件有了被释放的条件


// symlink函数
int symlink(const char* oldpath,const char* newpath);



// readlink函数
ssize_t readlink(const char* path,char* buf,size_t bufsize);
// 功能:读符号链接


// remove函数
- int remove(const char* pathname);
- 删除一个文件或目录