1. 程式人生 > >Linux伺服器程式設計之:link()函式,ln命令,symlink,readlink,案例說明

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)