Linux的硬鏈接與軟鏈接

Linux 的硬鏈接與軟鏈接

文件由文件名與數據組成,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(inode 是文件元數據的一部分但其并不包含文件名,inode 號即索引節點號)才是文件的唯一標識而非文件名。文件名僅是為了方便人們的記憶和使用,系統或程序通過 inode 號尋找正確的文件數據塊。

Linux 系統中查看 inode 號可使用命令 ls –i

 

 XBLB(OU00G6CNV6Z}}VWI}Q.png

為解決文件的共享使用,Linux 系統引入了兩種鏈接:硬鏈接 (hard link) 與軟鏈接(又稱符號鏈接,即 soft link symbolic link)。鏈接為 Linux 系統解決了文件的共享使用,還帶來了隱藏文件路徑、增加權限安全及節省存儲等好處。若一個 inode 號對應多個文件名,則稱這些文件為硬鏈接。換言之,硬鏈接就是同一個文件使用了多個別名。硬鏈接可由命令ln 創建。

 

由于硬鏈接是有著相同 inode 號僅文件名不同的文件,因此硬鏈接存在以下幾點特性:

文件有相同的 inode data block

只能對已存在的文件進行創建;

不能交叉文件系統進行硬鏈接的創建;

不能對目錄進行創建,只可對文件創建;

刪除一個硬鏈接文件并不影響其他有相同 inode 號的文件。

系統 inode 耗盡但仍有磁盤空間的情景

 

 

軟鏈接與硬鏈接不同,若文件用戶數據塊中存放的內容是另一文件的路徑名的指向,則該文件就是軟連接。軟鏈接就是一個普通文件,只是數據塊內容有點特殊。軟鏈接有著自己的 inode 號以及用戶數據塊。因此軟鏈接的創建與使用沒有類似硬鏈接的諸多限制:

軟鏈接有自己的文件屬性及權限等;

可對不存在的文件或目錄創建軟鏈接;

軟鏈接可交叉文件系統;

軟鏈接可對文件或目錄創建;

創建軟鏈接時,鏈接計數不會增加;

刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關軟連接被稱為死鏈接,若被指向路徑文件被重新創建,死鏈接可恢復為正常的軟鏈接。

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

(0)
easy.baieasy.bai
上一篇 2016-10-25 09:46
下一篇 2016-10-25 10:08

相關推薦

  • mysql基礎篇(一些基本概念的總結)

    一、安裝以及初始化     軟件包來源         1. vendor, rpm           2. 官網,source code 編譯 &…

    Linux干貨 2015-12-03
  • 馬哥教育網絡班22期+第11周課程練習

    1、詳細描述一次加密通訊的過程,結合圖示最佳。 Bob先利用單向加密算法提取當前數據的指紋(特征碼),再用自己的私鑰加密數據指紋并附加于數據尾部, 然后利用對稱加密將整個文件加密,之后用Alice的公鑰加密對稱加密密鑰附加于尾部。 Alice收到數據后,先用自己的私鑰解密,得到對稱加密密鑰,之后用對稱加密密鑰解密,然后用Bob的公鑰 解密得到數據指紋,并且驗…

    Linux干貨 2016-11-14
  • N26-第一周作業

    1、描述計算機的組成及其功能;  計算機組成部分分為硬件及軟件。  硬件:  計算機硬件主要有五大部分組成:運算器、控制器、存儲器、輸入設備、輸出設備;  1)運算器、控制器,統稱為處理器,也就是CPU:    主要功能是對各種數據進行運算,包括加、減、乘、除的算術運算,還包括進行邏輯判斷的能力,如…

    Linux干貨 2016-12-31
  • 學習宣言

    生命太過于短暫,今天放棄了明天不一定能得到。

    Linux干貨 2016-10-27
  • 使用NFS和Samba文件服務搭建博客站點

    使用NFS和Samba文件服務搭建博客站點 實驗目的:分別使用NFS和Smaba文件服務實現wordpress 實驗要求: (1) server導出/data/application/web,在目錄中提供wordpress; (2) client掛載nfs server導出的文件系統至/var/www/html;(3) 客戶端1(lamp),部署w…

    2017-04-30
  • vi與vim的使用

    一、引言     在Linux中,vi(Visual Interface)是標準的編輯器,功能強大到不遜于任何最新的編輯器。無論在Linux中還是在Unix中,vi的使用方法都是完全相同的。vim(Vi Improved)在vi的基礎上增加了很多新特性。 二、模式     vim…

    Linux干貨 2016-08-11
欧美性久久久久