linux鏈接文件

linux鏈接文件

    鏈接有兩種方式:硬鏈接和軟鏈接。

       (一)軟鏈接

       軟鏈接又叫做符號鏈接。基本命令爲:

[plain] view plaincopy
  1. ln -s sourcePlace newPlace  
      軟鏈接可以鏈接任何文件或者目錄,還可以鏈接不同文件系統的文件或者目錄。

      軟鏈接的特點:

    1.要建立鏈接時,newPlace必須是存在的;而當sourcePlace不存在時建立的連接是一個空鏈接,相當於空指針。空鏈接文件也可以操作,而且如果對空鏈接進行操作,比如 emptyFile是空鏈接,進行vi emptyFile 輸入一些字符後保存,那麼系統會自動生成一個對應emptyFile的sourcePlace,空鏈接會變成一個軟鏈接。

    2.newPlace指向sourcePlace,當sourcePlace的內容改變時,newPlace的內容也會改變,反過來也是一樣,當newPlace改變也會導致sourcePlace改變。

    3.軟鏈接類似於windows中的快捷方式,但在windows中,改變快捷方式,比如重命名快捷方式,不會導致源文件名字的改變。由於不清楚windows中的原理,所以不明白改變快捷方式的內容是否會引起源文件的改變。而軟鏈接中,對newPlace的改變,是會導致sourcePlace同步改變的。

    4.當刪除newPlace 時,不會對sourcePlace產生影響。而刪除sourcePlace時,newPlace會變成一個空鏈接,見第1條後半段。如果此時再創建一個與之前sourcePlace同名的文件,就會重新建立鏈接。但此時sourcePlace和newPlace的內容都爲空。

      (二)硬鏈接

     硬鏈接相當於是爲一個存在的文件創建一個指針,基本命令爲:   

[plain] view plaincopy
  1. ln sourceFile newFile  
     硬鏈接相對於軟鏈接多了兩個限制條件:1.不能爲目錄創建硬鏈接。我是這樣理解的,不知道是否正確:硬鏈接相當於一個一級指針,而操作目錄需要多級指針,就像多位數組或者動態存儲區,但是我不明白爲何軟鏈接可以鏈接目錄。2.只有同一個文件系統中的文件之間才能創建硬鏈接。

    硬鏈接的特點:

    1.sourceFile 和newFIle相互影響,同步執行。

    2.建立硬鏈接後,sourceFile和newFile的鏈接數都爲2,當刪除sourceFile後,newFile的內容不受影響,但其鏈接數減少一,從鏈接文件變成一個普通文件。

    (三)總結硬鏈接和軟鏈接的相同和區別:

    相同點:1.鏈接文件newPlace在建立鏈接前都必須爲空。

    2.sourcePlace和newPlace的修改都會影響對方。

    不同點:

    1.軟鏈接可以建立空鏈接,硬鏈接不行。

                    2.當刪除sourcePlace後,軟鏈接會失效,而硬鏈接只是newPlace的鏈接數減少;刪除newPlace後,對軟鏈接的sourcePlace不會有影響,而硬鏈接的sourcePlace的連接數也會減少。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章