linux硬鏈接和軟鏈接的詳細說明


一:介紹


對於一個文件來說,有唯一的索引結點(inode)與之對應,而對於一個索引結點號,卻可以有多個文件名與之對應。因此,在磁盤上的同一個文件可以通過不同的路徑去訪問該文件。注意在Linux下是一切皆文件的啊,文件夾、新加的硬盤 ...都可以看着文件來處理的啊。
軟連接(symbolic link)又叫符號連接。符號連接相當於windows下的快捷方式。
*************************** 不可以對  文件夾/目錄  建立硬連接的,我們通常用的還是軟連接比較多。 

建立硬鏈接: 

如:ln a b

創建一個新的硬鏈接,即爲路徑a標識的文件創建一個路徑名爲b的硬鏈接。修改b時,a也被修改了,始終同步。

注意:1,不能給目錄創建硬鏈接

      2,只有在同一文件系統類型的存儲空間創造硬鏈接

可見:硬鏈接有限制,於是引入軟鏈接(符號鏈接)

建立軟鏈接: 

ln -s a c

創建一個路徑名爲b的新的軟鏈接指向a,任何對b的引用都可以自動轉換成對a的引用。

但是如果刪除了a,c就無法訪問,沒用了。而b依然可以,實際存在。

 
二  兩者之間的區別
    硬連接指通過索引節點來進行的連接。在Linux的文件系統中,保存在磁盤分區中的文件不管是什麼類型都給它分配一個編號,稱爲索引節點號(Inode Number)。
    在Linux中,多個文件名指向同一索引節點是存在的。一般這種連接就是硬連接。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要
    文件,以防止“誤刪”的功能。其原因如上所述,因爲對應該目錄的索引節點有一個以上的連接。只刪除一個連接並不影響索引節點本身和其它的連接,只有當最後一個
    連接被刪除後,文件的數據塊及目錄的連接纔會被釋放。也就是說,文件纔會被真正刪除。
    軟鏈接文件有點類似於Windows的快捷方式。它實際上是特殊文件的一種。在符號連接中,文件實際上是一個文本文件,其中包含的有另一文件的位置信息。

    硬連接必須在同一文件系統中,而軟連接可以跨文件系統

三  個人體會
    軟鏈接是另一個文件,作用可以理解爲一個指針,******作用在這個文件上的操作除了刪除都直接轉向實際指向文件,由於是一個真實的文件所以佔用磁盤空間
    硬鏈接可以認爲不是一個文件,它只是實際文件的一個別名,它的作用是防止真實文件被誤操作,給一個文件建立硬鏈接後,他們互爲別名,刪除其中任意一個,
    這樣用RM命令只會刪除該別名,實際文件並不會被刪除。只有鏈接數爲0時,纔會刪除原始文件。

發佈了33 篇原創文章 · 獲贊 10 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章