硬链接link
1、硬链接命令为ln,函数为link
2、man 2 link
硬链接函数
int link(const char *oldpath, const char *newpath);
–参数*oldpath:已有的文件路径。
–参数*newpath:新建的硬链接文件路径。
–返回值:成功返回0,错误返回-1。
实例:
#include <stdio.h>
//link函数头文件
#include <unistd.h>
int main(int argc, char *argv[])
{
int ret;
if (argc < 3)
{
printf("\nPlease input file path\n");
return 1;
}
//测试link函数
ret = link(argv[1], argv[2]);
if (ret)
{
printf("link failed");
return 1;
}
printf("link %s to %s success!\n", argv[1], argv[2]);
return 0;
}
符号链接symlink
1、符号链接也叫软链接,symlink
2、man 2 symlink
软链接函数
int symlink(const char *oldpath, const char *newpath);
–参数*oldpath:已有的文件路径
–参数*newpath:新建的符号链接文件路径
–返回值:成功返回0,错误返回-1
实例:
#include <stdio.h>
//symlink函数头文件
#include <unistd.h>
int main(int argc, char *argv[])
{
int ret;
if (argc < 3)
{
printf("\nPlease input file path\n");
return 1;
}
//测试symlink函数
ret = symlink(argv[1], argv[2]);
if (ret)
{
printf("symlink failed");
return 1;
}
printf("symlink %s to %s success!\n", argv[1], argv[2]);
return 0;
}
解除链接unlink
1、man 2 unlink
2、解除链接函数
int unlink(const char *pathname);
–参数*pathname:链接文件的路径
–返回值:成功返回0,错误返回-1
– unlink指向软链接,删除软链接;指向最后一个硬链接,相当于删除文件
实例:
#include <stdio.h>
//unlink函数头文件
#include <unistd.h>
int main(int argc, char *argv[])
{
int ret;
if (argc < 2)
{
printf("\nPlease input file path\n");
return 1;
}
//测试unlink函数
ret = unlink(argv[1]);
if (ret)
{
printf("unlink failed");
return 1;
}
printf("unlink %s is success!\n", argv[1]);
return 0;
}