Linux磁盤-inode&硬連接&軟連接

作者介紹:我是一名運維工程師,雖然簡歷上沒有標(biāo)榜精通,但一直在努力學(xué)習(xí)和進(jìn)步。希望大家多多關(guān)注我的文章,下面的思維導(dǎo)圖展示了我計劃更新的內(nèi)容和當(dāng)前進(jìn)度(不定時更新)。

Linux磁盤-inode&硬連接&軟連接linux磁盤操作雖然涉及的命令不多,但在實際運維中卻至關(guān)重要,因為Linux系統(tǒng)和業(yè)務(wù)都依賴于硬盤。如果磁盤使用和配置不當(dāng),可能會導(dǎo)致系統(tǒng)無法啟動或業(yè)務(wù)無法正常運行。

本文將從以下幾個方面詳細(xì)介紹Linux磁盤操作:

  1. 分區(qū)介紹
  2. 創(chuàng)建分區(qū)
  3. MBR與gpt
  4. 格式化與掛載
  5. inode與硬連接(本章節(jié))
  6. 磁盤操作命令
  7. 小結(jié)

Inode

Inode是文件系統(tǒng)中的一個關(guān)鍵概念,尤其在類unix操作系統(tǒng)(如Linux)中。它是”index node”的縮寫,用于存儲文件或目錄的元數(shù)據(jù)信息。每個文件和目錄在文件系統(tǒng)中都有一個唯一的inode,用于記錄文件的權(quán)限、所有者、大小、時間戳以及數(shù)據(jù)塊的位置等信息。

Inode的主要組成部分包括:

  • 文件類型和權(quán)限:文件類型(常規(guī)文件、目錄、符號鏈接等)和訪問權(quán)限(讀、寫、執(zhí)行)。
  • 所有者和所屬組:文件或目錄的所有者和所屬的用戶組。
  • 文件大小:文件占用的字節(jié)數(shù)。
  • 時間戳:包括文件的訪問時間、修改時間和狀態(tài)改變時間。
  • 指向數(shù)據(jù)塊的指針:存儲文件數(shù)據(jù)的實際位置,這些指針可以直接指向數(shù)據(jù)塊,或者在某些情況下,指向間接塊、雙重間接塊和三重間接塊。

Inode的作用:

  • 唯一標(biāo)識:每個文件和目錄通過唯一的inode號碼在文件系統(tǒng)中被標(biāo)識。
  • 元數(shù)據(jù)管理:存儲文件和目錄的元數(shù)據(jù)信息,如權(quán)限、所有者、大小等。
  • 性能優(yōu)化:通過inode可以快速訪問和管理文件的元數(shù)據(jù),從而提升文件系統(tǒng)的性能。

硬鏈接:硬鏈接通過相同的inode號碼連接到同一文件的多個文件名。這允許文件在文件系統(tǒng)中擁有多個名稱,但只有一個物理副本,因為所有硬鏈接共享相同的inode。在Linux中,可以使用ls -i命令查看文件或目錄的inode號碼,或使用stat命令查看詳細(xì)的inode元數(shù)據(jù)信息。

總結(jié):

  1. inode可以簡單理解為從整個分區(qū)中分割出來的一部分空間,用于存儲inode信息,其大小根據(jù)分區(qū)大小自動定義。
  2. 如果沒有特殊需求,不建議調(diào)整inode的大小。
  3. inode也有容量限制,如果磁盤中存在大量小文件,inode可能會用完,導(dǎo)致無法寫入文件,這是運維中常見的inode問題。
  4. 結(jié)合find命令,可以刪除那些無法通過rm命令刪除的文件(目前是我用過的涉及inode的兩個地方)。

Linux磁盤-inode&硬連接&軟連接

硬連接與軟連接

硬連接(Hard link)是操作系統(tǒng)中用來連接文件名與文件內(nèi)容的一種技術(shù),可以讓一個文件擁有多個文件名(即多個硬連接)。硬鏈接與原始文件在文件系統(tǒng)中的inode相同,因此不同的文件名實際上引用了同一個文件內(nèi)容,它們在系統(tǒng)級別上沒有區(qū)別,只是文件系統(tǒng)為每個文件名維護(hù)了一個目錄項。

軟連接(Symbolic Link),也稱為符號鏈接,是一種特殊類型的文件,它包含指向另一個文件或目錄的路徑。軟連接類似于windows系統(tǒng)中的快捷方式,它允許你創(chuàng)建一個指向另一個文件或目錄的鏈接,而不是實際復(fù)制或移動文件本身。

特點 硬連接 (Hard Link) 軟連接 (Symbolic Link)
定義 目錄項指向相同的物理文件數(shù)據(jù)塊。 特殊類型的文件,包含指向另一文件或目錄的路徑。
類型 文件系統(tǒng)層級的鏈接。 文件系統(tǒng)層級的鏈接。
跨文件系統(tǒng) 不能跨越文件系統(tǒng)。 可以跨越文件系統(tǒng)。
目標(biāo)類型 只能鏈接到文件,不能鏈接到目錄。 可以鏈接到文件或目錄。
inode 與目標(biāo)文件相同的inode號。 新的inode號,指向目標(biāo)的路徑。
鏈接計數(shù) 增加原始文件的硬鏈接計數(shù)。 不影響目標(biāo)文件或目錄的鏈接計數(shù)。
更新 如果原始文件被修改,所有硬連接都會同步更新。 軟連接可以指向動態(tài)變化的目標(biāo)。
刪除原始文件 不影響硬鏈接,直到所有硬鏈接被刪除。 軟連接失效,稱為懸空連接。
權(quán)限和所有權(quán) 與目標(biāo)文件相同的權(quán)限和所有權(quán)。 有自己的權(quán)限和所有權(quán)。
用途 保護(hù)特殊文件,避免被誤刪除。 常用于創(chuàng)建快捷方式或簡化路徑。
命令行創(chuàng)建 ln targetfile linkfile ln -s targetfile linkfile

硬連接需要刪除所有的文件,才能最終刪除文件。軟連接可以使用普通rm命令刪除,也可以使用unlink命令取消連接。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享