1. 程式人生 > >Linux下link函式的使用

Linux下link函式的使用

一、標頭檔案

#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;
}