一、头文件
#include<unistd.h>
二、函数原型
int link(const char *oldname, const char *newname);
三、函数介绍
在UNIX系统中,一个文件可能同时拥有多个文件名。也就是说多个不同名字的文件在文件系统中可能是同一个文件。当我们要复制一个文件时,并不是真正复制文件内容,只要另外建立一个文件名,然后将这个文件名链接到所要复制的文件就可以了,这种操作称为链接(link)。
link()函数是以参数newname指定的一个不存在的文件名称来建立一个连接,连接到参数oldname指定的已存在的文件,如果newname是一个已经存在的文件或者oldname所指定的文件不存在都会造成连接失败。
link()不可以跨越不同的文件系统来建立连接。
返回值:成功返回0,失败返回 -1
四、代码示例
#include<stdio.h>
#include<unistd.h>
int main(int argc, char *argv[])
{
if(3 != argc)
{
printf("reference error!\n");
exit(0);
}
int res;
res = link(argv[1], argv[2]);
if(res)
{
printf("link error!\n");
}
return 0;
}