軟鏈接和硬鏈接詳解

    • 軟連接和硬鏈接圖解

    • 硬鏈接

    • 符號鏈接

    • 軟鏈接和硬鏈接詳解

軟鏈接和硬鏈接詳解

Linux下的鏈接文件有點類似于Windows的快捷方式,但又不完全一樣。鏈接文件有兩種:一種是硬鏈接,另一種是符號鏈接(又稱軟鏈接)。

UNIX文件系統提供了一種將不同文件鏈接至同一個文件的機制,我們稱這種機制為鏈接。它可以使得單個程序對同一文件使用不同的名字。這樣的好處是文件系統只存在一個文件的副本,系統簡單地通過在目錄中建立一個新的登記項來實現這種連接。

軟連接和硬鏈接圖解

QQ截圖20160905030801.png

硬鏈接

硬鏈接是通過索引節點進行的鏈接。 該登記項具有一個新的文件名和要連接文件的inode 號,文件的目錄登記項就是所謂的文件硬鏈接(硬鏈接,目錄登記項: 文件名‐‐>文件的inode;文件名可以有多個,但文件inode 只是一個)。不論一個文件有多少硬鏈接,在磁盤上只有一個描述它的inode, 只要該文件的鏈接數不為0,該文件就保持存在。硬鏈接不能跨越文件系統,為避免無限遞歸,一般也不能在目錄上建立hard link。 硬連接是直接建立在節點表上的(inode),建立硬連接指向一個文件的時候,會更新節點表上面的計數值。舉個例子,一個文件被連接了兩次(硬連接),這個文件的計數值是3,而無論通過3個文件名中的任何一個訪問,效果都是完全一樣的,但是如果刪除其中任意一個,都只是把計數值減1,不會刪除實際的內容的,(任何存在的 文件本身就算是一個硬連接)只有計數值變成0也就是沒有任何硬連接指向的時候才會真實的刪除內容。對任何一個硬鏈接文件修改,都會對原文件進行修改。

硬鏈接可由命令 link 或 ln 創建,如:

link oldfile newfile 
ln oldfile newfile

符號鏈接

軟鏈接(也叫符號鏈接)它是指向另一個文件的特殊文件,這種文件的數據部分僅包含它所要鏈接文件的路徑名。軟鏈接是為了克服硬鏈接的不足而引入的,軟鏈接不直接使用inode 號作為文件指針,而是使用文件路徑名作為指針(軟鏈接:文件名+數據部分‐‐>目標文件的路徑名)。軟件有自己的inode,并在磁盤上有一小片空間存放路徑名。因此,軟鏈接能夠跨文件系統,也可以和目錄鏈接; 其二,軟鏈接可以對一個不存在的文件名進行鏈接,但直到這個名字對應的文件被創建后,才能打開其鏈接。當軟鏈接指向的文件刪除重命名或移動后,軟鏈接并不會發生更新,會維持原來的值不變。

例如某個文件文件系統空間已經用完了,但是現在必須在該文件系統下創建一個新的目錄并存儲大量的文件,那么可以把另一個剩余空間較多的文件系統中的目錄鏈接到該文件系統中,這樣就可以很好的解決空間不足問題。刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接就變成了死鏈接。

使用-s選項的ln命令即可創建符號鏈接,命令如下:

ln -s old.file soft.link
ln -s old.dir soft.link.dir

原創文章,作者:M20_he,如若轉載,請注明出處:http://www.www58058.com/43595

(1)
M20_heM20_he
上一篇 2016-09-06
下一篇 2016-09-06

相關推薦

  • 推薦-Nginx專題: upstream模塊和緩存的簡單使用

    Nginx專題: upstream模塊和緩存的簡單使用 nginx 負載均衡 Nginx專題: upstream模塊和緩存的簡單使用 前言: 實驗拓撲 實驗環境 Nginx_Upstream模塊介紹 upstream使用方法 upstream使用示例 Nginx_Cache介紹 緩存靜態資源 總結 前言: 本文接著上篇Nginx專題: 從編譯安裝到…

    Linux干貨 2016-04-07
  • 關于HISTCONTROL命令及對快捷鍵Ctrl+o命令的影響

            在linux中環境變量HISTCONTROL可以控制歷史的記錄方式。         HISTCONTROL有以下的選項:         &n…

    Linux干貨 2017-02-18
  • 加密·解密·PKI詳解及如何創建私有CA

    加密解密技術基礎: 安全的目標:   保密性:confidentiality 確保通信信息不被任何無關的人看到 完整性:integrity 實現通信雙方的報文不會產生信息丟失 數據完整性 系統完整性 可用性:availability 通信任何一方產生的信息應當對授權實體可用 攻擊類型:   威脅保密性的攻擊:竊聽、通信…

    2017-05-30
  • history命令詳解

       有效地使用命令歷史機制將會使效率獲得極大提升。history:   保存你輸入的命令歷史。 可以用它來重復執行命令。   history [-c] [-d offset] [n]   history -anrw [filename]   history …

    2017-03-26
  • drbd+corosync+pacemaker

    存儲分類: DAS:直接附加存儲;例如ide,sata,scsi,sas等 NAS:網絡附加存儲;即文件級別共享存儲;例如nfs等 SAN:存儲區域網絡;即塊級別共享存儲;例如ip-san,fc-san   共享存儲選型比較: SAN性能優良,價格昂貴; NAS性能基于文件系統級別,性能低下; 因此,另一個DRBD誕生,全稱為分布式復制塊設備,Di…

    Linux干貨 2017-11-13
  • 我在馬哥的學習生涯開始

    我的人生工作目標:年薪百萬不是夢!

    Linux干貨 2016-10-28
欧美性久久久久