linux軟連接和硬鏈接的區別
Ⅰ linux 軟連接和硬鏈接之間的區別
軟鏈接:
1.軟鏈接,以路徑的形式存在。類似於Windows操作系統中的快捷方式
2.軟鏈接可以 跨文件系統 ,硬鏈接不可以
3.軟鏈接可以對一個不存在的文件名進行鏈接
4.軟鏈接可以對目錄進行鏈接
硬鏈接:
1.硬鏈接,以文件副本的形式存在。但不佔用實際空間。
2.不允許給目錄創建硬鏈接
3.硬鏈接只有在同一個文件系統中才能創建
這里有兩點要注意:
第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;
第二,ln的鏈接又分軟鏈接和硬鏈接兩種,軟鏈接就是ln –s 源文件 目標文件,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁碟空間,硬鏈接 ln 源文件 目標文件,沒有參數-s, 它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
ln指令用在鏈接文件或目錄,如同時指定兩個以上的文件或目錄,且最後的目的地是一個已經存在的目錄,則會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,且最後的目的地並非是一個已存在的目錄,則會出現錯誤信息。
Ⅱ linux硬鏈接和軟鏈接的區別
在Linux系統中,鏈接分為兩種,一種是硬鏈接(Hard link),另一種稱為符號鏈接或軟鏈接(Symbolic Link)。
①默認不帶參數的情況下,ln創建的是硬鏈接,帶-s參數的ln命令創建的是軟鏈接。
②硬鏈接文件與源文件的inode節點號相同,而軟鏈接文件的inode節點號,與源文件不同,
③ln命令不能對目錄創建硬鏈接,但可以創建軟鏈接。對目錄的軟鏈接會經常使用到。
④刪除軟鏈接文件,對源文件和硬鏈接文件無任何影響。
⑤刪除文件的硬鏈接文件,對源文件及軟鏈接文件無任何影響。
⑥刪除鏈接文件的源文件,對硬鏈接文件無影響,會導致其軟鏈接失效(紅底白字閃爍狀)。
⑦同時刪除源文件及其硬鏈接文件,整個叢洞文件才會被真正的刪除。
⑧很多硬體設備的快照功能,使用的就是類似硬鏈接的原理。
⑨軟鏈接可顫擾以跨文件系統,硬鏈接不可以滲洞枯跨文件系統。
Ⅲ linux 軟連接和硬鏈接的區別
首先我們需要了解linux下硬鏈接以及軟連接的基本概念.
硬鏈接:新建的文件是已經存在的文件的一個別名,當原文件刪除時,新建的文件仍然可以使用.
軟鏈接:也稱為符號鏈接,新建的文件以「路徑」的形式來表示另一個文件,和Windows的快捷方式十分相似,新建的軟鏈接可以指向不存在的文件.
下面詳細介紹一下硬鏈接和軟連接之間的區別.
1.硬鏈接和原來的文件沒有什麼區別,而且共享一個 inode 號(文件在文件系統上的唯一標識);而軟鏈接不共享 inode,也可以說是個特殊的 inode,所以和原來的 inode 有區別。
2.若原文件刪除了,則該軟連接則不可以訪問,而硬連接則是可以的。
3.由於符號鏈接的特性,導致其可以跨越磁碟分區,但硬鏈接不具備這個特性.
另外在轉載一下網上的介紹.
硬鏈接(hard link) ln
UNIX文件系統提供了一種將不同文件鏈接至同一個文件的機制,我們稱這種機制為鏈接。它可以使得單個程序對同一文件使用不同的名字。這樣的好處是文件系統只存在一個文件的副本。系統簡單地通過在目錄中建立一個新的登記項來實現這種連接。該登記項具有一個新的文件名和要連接文件的inode號(inode與原文件相同)。不論一個文件有多少硬鏈接,在磁碟上只有一個描述它的inode,只要該文件的鏈接數不為0,該文件就保持存在。硬鏈接不能對目錄建立硬鏈接!
硬連接是直接建立在節點表上的(inode),建立硬連接指向一個文件的時候,會更新節點表上面的計數值。舉個例子,一個文件被連接了兩次(硬連接),這個文件的計數值是3,而無論通過3個文件名中的任何一個訪問,效果都是完全一樣的,但是如果刪除其中任意一個,都只是把計數值減1,不會刪除實際的內容的,(任何存在的文件本身就算是一個硬連接)只有計數值變成0也就是沒有任何硬連接指向的時候才會真實的刪除內容。
軟鏈接(symbolic link) ln-s
我們把符號鏈接稱為軟鏈接,它是指向另一個文件的特殊文件,這種文件的數據部分僅包含它所要鏈接文件的路徑名。軟鏈接是為了克服硬鏈接的不足而引入的,軟鏈接不直接使用inode號作為文件指針,而是使用文件路徑名作為指針(軟鏈接:文件名 + 數據部分-->目標文件的路徑名)。軟體有自己的inode,並在磁碟上有一小片空間存放路徑名。因此,軟鏈接能夠跨文件系統,也可以和目錄鏈接!其二,軟鏈接可以對一個不存在的文件名進行鏈接,但直到這個名字對應的文件被創建後,才能打開其鏈接。
Ⅳ linux的硬鏈接和軟連接的區別
軟連接跟硬鏈接最大的區別在於:
1.文件A和文件B的inode號碼一樣,對文件內容進行修改,會影響到所有文件名;但是,刪除一個文件名,不影響另一個文件名的訪問。這種情況就被稱為"硬鏈接"(hard link)。
2.文件A和文件B的inode號碼雖然不一樣,但是文件A的內容是文件B的路徑。讀取文件A時,系統會自動將訪問者導向文件B。因此,無論打開哪一個文件,最終讀取的都是文件B。這時,文件A就稱為文件B的"軟鏈接"(soft link)或者"符號鏈接(symbolic link)
3.對源文件、硬鏈接、軟連接修改均會影響文件內容,因為本質上是修改了同一塊內容。刪除硬鏈接、軟連接均不會影響源文件的讀寫。
Ⅳ linux中硬鏈接和軟鏈接的區別
1、定義不同
軟鏈接又叫符號鏈接,這個文件包含了另一個文件的路徑名。可以是任意文件或目錄,可以鏈接不同文件系統的文件。
硬鏈接就是一個文件的一個或多個文件名。把文件名和計算機文件系統使用的節點號鏈接起來。因此我們可以用多個文件名與同一個文件進行鏈接,這些文件名可以在同一目錄或不同目錄。
2、限制不同
硬鏈接只能對已存在的文件進行創建,不能交叉文件系統進行硬鏈接的創建;
軟鏈接可對不存在的文件或目錄創建軟鏈接;可交叉文件系統;
/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"target="_blank"title="點擊查看大圖"class="illustration_alink">/iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/35a85edf8db1cb13784969b9d354564e92584b73"/>
3、創建方式不同
硬鏈接不能對目錄進行創建,只可對文件創建;
軟鏈接可對文件或目錄創建;
4、影響不同
刪除一個硬鏈接文件並不影響其他有相同inode號的文件。
刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接(即danglinglink,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接)。
Ⅵ linux 硬鏈接和軟連接的區別
硬鏈接就是同一個文簡跡掘件使用了多個別名(他們有共同的攔核 inode)。
硬鏈接可由命令 link 或 ln 創建,如:
linkoldfilenewfile
lnoldfilenewfile
由於硬鏈接是有著相同 inode 號僅文件名不同的文件,因此,刪除一個硬鏈接文件並不影響其他有相同 inode 號的文件。
硬鏈接不能對目錄進行創建,只可對文件創建。
軟鏈接(也叫符號鏈接)與硬鏈接不同,文件用戶數據塊中存放的內容是另一文件的路徑名的指向。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。
軟鏈接可對文件或目錄創建。
ln-sold.filesoft.link
ln-sold.dirsoft.link.dir
加-s選項表示創建的是軟鏈接。
刪除軟鏈接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接就變成了死鏈接。
要更深入地了解,請參州桐見IBM網站: