關於軟硬鏈結那些事兒

2022-08-17 01:18:10 字數 2052 閱讀 5239

軟連線、硬鏈結,那麼啥是鏈結呢?小編覺得鏈結簡單來說就是一種共享的方式,比如我們去逛超市,超市的入口就是『鏈結』。在linux中,鏈結又分為軟連線和硬鏈結,想要了解他倆,就得先了解幾個基本概念。

一、inode

我們知道檔案包含資料和元資料,它的資料都存在block(「塊」)中,那它的元資料,比如說它的檔案型別、許可權、時間戳、連線數等也需要地方儲存呀,所以inode(中文索點)來了,他來儲存檔案的這些元資料。下面我們可以通過stat命令檢視乙個檔案的inode資訊

這裡我們檢視了/etc/passwd檔案的元資料資訊。ls -l命令也會列出一些檔案的元資料資訊,如下圖所示:

其實最初當我們在安裝虛擬機器建立分割槽並建立文系統的時候,就已經在檔案系統的固定區域保留了inode節點區。我們可以通過下面的df -i命令檢視某檔案系統inode節點區域的大小及使用情況:

二、目錄項

雖然每個檔案對應了唯一的inode號,但當檔案經過我們刪刪改改之後,inode號就會變得雜亂無章,不利於我們的記憶。但我們人跟計算機不同,我們愛取名字,中華文化博大精深,家裡的寵物什麼的都不僅僅只有乙個名字呢,所以我們給檔案取了名字之後,再建立檔名跟inode號之間的對應,就引出了目錄項這個概念,強大的linux把所有的檔案和目錄構建成了乙個倒立的樹狀結構,從根開始。所以我們只要確定了根目錄的inode號,就可以掌控整個檔案系統。畫個圖來表達的更簡單一些:

三、硬鏈結

一般情況下,檔名和inode號碼是"一一對應"關係,每個inode號碼對應乙個檔名。但是當多個檔名指向同乙個inode號的這種情況就被稱為"硬鏈結",小編覺得硬鏈結其實就是給現有的檔案起了乙個別名。

①建立硬鏈結

③硬鏈結特點 

1. 只能對已存在的檔案進行建立,否則就是下圖的no such file or directory!

2. 不能交叉檔案系統進行硬鏈結的建立

3. 不能對目錄進行建立,只能對檔案建立硬鏈結

4. 刪除乙個硬鏈結並不影響其他具有相同inode號的檔案

我們把軟鏈結也稱為符號鏈結,它有點類似於windows的快捷方式。它不直接使用inode號作為檔案指標,而是使用檔案路徑名作為指標。軟鏈結有自己的inode,並在磁碟上有一小片空間存放路徑名。因此,軟鏈結能夠跨檔案系統,也可以和目錄鏈結。

①軟連線原理:

③軟連線特點 :

1. 軟鏈結有自己的檔案屬性及許可權等

2. 軟鏈結可以對不存在的檔案或目錄建立

3. 軟鏈結可以交叉檔案系統

5. 建立軟鏈結時,鏈結計數不會增加

6. 刪除軟鏈結不會影響被指向的檔案,但若指向的原檔案被刪除,則成死鏈結。

鏈結那些事兒

鏈結,就是將不同部分的 和資料收集和組合成為乙個單一檔案的過程,這個檔案可被載入到儲存器中執行。鏈結可以執行於編譯時 compile time 也就是源 被翻譯成機器 時 eg.普通的鏈結器鏈結,以及靜態鏈結庫,由靜態鏈結器鏈結 也可以執行於載入時 例如動態鏈結庫的載入時鏈結 也可以執行於執行時 r...

關於Python那些事兒

1.易於學習 python有相對較少的關鍵字,結構簡單,和乙個明確定義的語法,學習起來更加簡單。2.易於閱讀 python 定義的更清晰。3.易於維護 python的成功在於它的源 是相當容易維護的。4.乙個廣泛的標準庫 python的最大的優勢之一是豐富的庫,跨平台的,在unix,windows和...

關於Nginx那些事兒

記憶體少 併發能力強,效能優化 正向 在瀏覽器中配置 伺服器,實現客戶端對伺服器的訪問。也就是說,在一般情況下,我們客戶端無法直接訪問到伺服器,需要有那麼乙個中臺作為中間應用實現訪問。反向 反向 中,客戶端是無知的,不知道是否配置了伺服器,我們將資料發到反向 伺服器上去,反向 伺服器選擇目標伺服器獲...