Linux伺服器程式設計之:link()函式,ln命令,symlink,readlink,案例說明
1 link()依賴標頭檔案
#include<unistd.h>
2函式定義
int link(const char *oldpath,const char *newpath);
函式說明:
link() creates a new link (also known as a hard link) to an existing
file.
翻譯:link()函式為一個已經存在的檔案建立一個新的連結(也就是通常所說的“硬連結”)
If newpath exists it will not be overwritten.
翻譯:如果新檔案已經存在,它將不會被重寫
This new name may be used exactly as the old one for any operation;
both names refer to the same file (and so have the same permissions and
ownership) and it is impossible to tell which name was the "original".
翻譯:新的名字可以替代舊的名字做任何操作,這些名字都指向同一個檔案(並且也有相同的許可權和擁有者),並且很難辨別哪個名稱是原始的名稱
3.返回值
一旦成功,返回0,一旦錯誤,返回-1。並且erron被設定了結果
4.案例說明:
5.ln命令
說明:
A:連結有兩種,一種被稱為硬連結(Hard Link),另外一種被稱為符號連結(Symbol link),也叫軟連結。建立硬連結時,連結檔案和被連結檔案必須位於同一個檔案系統中,
並且不能建立指向目錄的硬連結。而對於符號連結,則不存在這個問題。預設情況下,ln產生硬連結
6.symlink依賴的標頭檔案
#include<unistd.h>
函式定義:
int symlink(const char *oldpath, const char *newpath);
描述:
symlink() creates a symbolic link named newpath which contains the
string oldpath.
7.readlink
讀符號連結所指向的檔名字,不讀檔案內容
ssize_t readlink(const char *path, char *buf, size_t bufsiz)