作者介紹:我是一名運維工程師,雖然簡歷上沒有標(biāo)榜精通,但一直在努力學(xué)習(xí)和進(jìn)步。希望大家多多關(guān)注我的文章,下面的思維導(dǎo)圖展示了我計劃更新的內(nèi)容和當(dāng)前進(jìn)度(不定時更新)。
linux磁盤操作雖然涉及的命令不多,但在實際運維中卻至關(guān)重要,因為Linux系統(tǒng)和業(yè)務(wù)都依賴于硬盤。如果磁盤使用和配置不當(dāng),可能會導(dǎo)致系統(tǒng)無法啟動或業(yè)務(wù)無法正常運行。
本文將從以下幾個方面詳細(xì)介紹Linux磁盤操作:
- 分區(qū)介紹
- 創(chuàng)建分區(qū)
- MBR與gpt
- 格式化與掛載
- inode與硬連接(本章節(jié))
- 磁盤操作命令
- 小結(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é):
- inode可以簡單理解為從整個分區(qū)中分割出來的一部分空間,用于存儲inode信息,其大小根據(jù)分區(qū)大小自動定義。
- 如果沒有特殊需求,不建議調(diào)整inode的大小。
- inode也有容量限制,如果磁盤中存在大量小文件,inode可能會用完,導(dǎo)致無法寫入文件,這是運維中常見的inode問題。
- 結(jié)合find命令,可以刪除那些無法通過rm命令刪除的文件(目前是我用過的涉及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命令取消連接。