Linux下link函式的使用
阿新 • • 發佈:2019-02-20
一、標頭檔案
#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; }