📜  C程序创建硬链接和软链接

📅  最后修改于: 2022-05-13 01:55:38.184000             🧑  作者: Mango

C程序创建硬链接和软链接

有两种类型的链接,即文件的软链接和硬链接。 C 库有一个函数link()可以创建一个到现有文件的新硬链接。函数symlink()创建软链接。如果链接文件/路径已经存在,则不会被覆盖。函数link()symlink() 都在成功时返回0 。如果发生任何错误,则返回-1 。否则, 'errno' (错误号)被适当地设置。

软链接:软链接(也称为符号链接)充当文件名的指针或引用。它不访问原始文件中可用的数据。如果先前的文件被删除,软链接将指向一个不再存在的文件。

硬链接:硬链接充当所选文件的副本(镜像)。它访问原始文件中可用的数据。
如果先前选择的文件被删除,文件的硬链接仍将包含该文件的数据。

创建硬链接的函数:

创建软链接的函数:

程序 1:下面是创建到现有文件的硬链接的 C 程序:

C
// C program to create an Hard Link
// to the existing file
#include 
#include 
#include 
  
// Driver Code
int main(int argc, char* argv[])
{
    // Link function
    int l = link(argv[1], argv[2]);
  
    // argv[1] is existing file name
    // argv[2] is link file name
    if (l == 0) {
        printf("Hard Link created"
               " succuessfuly");
    }
  
    return 0;
}


C
// C program to create an Soft Link
// to the existing file
#include 
#include 
#include 
  
// Driver Code
int main(int argc, char* argv[])
{
    // Symlink function
    int sl = symlink(argv[1], argv[2]);
  
    // argv[1] is existing file name
    // argv[2] is soft link file name
    if (sl == 0) {
        printf("Soft Link created"
               " succuessfuly");
    }
  
    return 0;
}


输出:

程序 2:下面是创建到现有文件的硬链接的 C 程序:

C

// C program to create an Soft Link
// to the existing file
#include 
#include 
#include 
  
// Driver Code
int main(int argc, char* argv[])
{
    // Symlink function
    int sl = symlink(argv[1], argv[2]);
  
    // argv[1] is existing file name
    // argv[2] is soft link file name
    if (sl == 0) {
        printf("Soft Link created"
               " succuessfuly");
    }
  
    return 0;
}

输出:

想要从精选的视频和练习题中学习,请查看C 基础到高级C 基础课程