第1关:硬链接的创建与删除
任务描述
在Windows系统中,常使用的一个功能是给一个文件创建快捷方式。快捷方式的本质就是一个链接文件。在Linux系统中将链接文件又分为硬链接文件和软链接文件两种,本关将对硬链接文件进行介绍。
本关任务:学会使用C语言在Linux系统中创建和删除硬链接文件。
相关知识
在Linux系统中,目录中每个目录项至inode的映射都被称为硬链接。因此,硬链接的本质不过是目录项中一个指向inode的名字。因为硬链接是映射至inode节点的,且不同文件系统的inode编号也许不同。因此,指向同一个文件的硬链接必须位于同一个文件系统中。
Linux系统提供了两个系统调用函数来实现硬链接的创建和删除功能,分别是link和unlink函数。可以通过使用man 2 函数名来查询其详细的介绍。
硬链接的创建
创建硬链接的系统调用函数是link,具体的说明如下:
需要的头文件如下:
#include <unistd.h>
函数格式如下: int link(const char *oldpath, const char *newpath); 参数说明:
oldpath:已经存在的文件;
newpath:需要被新创建的链接;
注意:oldpath和newpath必须