linux查看inode使用率 linux怎么根據(jù)inode找到文件的所有塊號?
linux怎么根據(jù)inode找到文件的所有塊號?inode本身包含文件數(shù)據(jù)塊的位置。我對Linux上的編程不太了解,但硬盤必須有一個相應(yīng)的直接操作界面,類似于在windows上創(chuàng)建文件。linux如何
linux怎么根據(jù)inode找到文件的所有塊號?
inode本身包含文件數(shù)據(jù)塊的位置。
我對Linux上的編程不太了解,但硬盤必須有一個相應(yīng)的直接操作界面,類似于在windows上創(chuàng)建文件。
linux如何查看inode被哪些文件占用了?
要查看每個inode節(jié)點的大小,可以使用以下命令:sudo dumpe2fs-H/dev/HDA | grep “inode size”
要查看inode總數(shù)和每個硬盤分區(qū)中使用的inode數(shù),可以使用DF命令。DF-I
inode也會占用硬盤空間,因此當(dāng)硬盤格式化時,操作系統(tǒng)會自動將硬盤分成兩個區(qū)域。一個是數(shù)據(jù)區(qū),用于存儲文件數(shù)據(jù);另一個是inode表,用于存儲inode中包含的信息。
每個inode節(jié)點的大小為128字節(jié)或256字節(jié)。格式化時給出inode節(jié)點的總數(shù)。通常,每1KB或2KB設(shè)置一個inode。假設(shè)在1GB硬盤中,每個inode節(jié)點的大小為128字節(jié),每1KB設(shè)置一個inode,那么inode表的大小將達(dá)到128MB,占整個硬盤的12.8%。要理解inode,我們應(yīng)該從文件存儲開始。文件存儲在硬盤上。硬盤的最小存儲單元稱為扇區(qū)。每個扇區(qū)存儲512字節(jié)(相當(dāng)于0.5kb)。
操作系統(tǒng)讀取硬盤時,不會逐個讀取扇區(qū),效率太低。相反,它一次連續(xù)讀取多個扇區(qū),也就是說,它一次讀取一個“塊”。這個由多個扇區(qū)組成的“塊”是文件訪問的最小單位。“塊”最常見的大小是4KB,即八個連續(xù)的部分構(gòu)成一個塊。
文件數(shù)據(jù)存儲在“塊”中。顯然,我們必須找到一個地方來存儲文件的元信息,比如文件的創(chuàng)建者、文件的創(chuàng)建日期、文件的大小等等。這個區(qū)域稱為inode,中文稱為“索引節(jié)點”。
*字節(jié)數(shù)
*文件所有者的用戶ID
*文件的組ID
*讀取、寫入和執(zhí)行權(quán)限
*文件有三個時間戳:CTime是指上次更改inode的時間,mtime是指上次更改文件內(nèi)容的時間,atime是指上次更改文件內(nèi)容的時間上次打開的。
*鏈接數(shù),即指向此inode的文件名數(shù)
*文件數(shù)據(jù)塊的位置
您可以使用stat命令查看文件的inode信息:stat示例.txt
linux怎么查看哪個目錄占用inode數(shù)大?
。
在每個分區(qū)(邏輯分區(qū))中,文件系統(tǒng)都有一個超級塊,通過它可以知道所有inode的用法;因此,inode在分區(qū)中是唯一的。
LZ可以使用DF/fdisl-L命令查看分區(qū)。
請注意磁盤分區(qū)和邏輯分區(qū)之間的區(qū)別。
fdisk-L命令允許您查看物理和邏輯分區(qū)。對于LVM,我們可以在邏輯上將幾個物理分區(qū)變成一個完整的分區(qū)
PS:
為了驗證上述結(jié)論(硬鏈接直接復(fù)制inode,但是跨邏輯分區(qū)復(fù)制inode會破壞inode的唯一性,所以無法完成)
PPS:
inode可以用來描述文件,目錄等常規(guī)文件,也可以用來描述管道等特殊文件
如果您感興趣,請點擊查看內(nèi)核的inode數(shù)據(jù)結(jié)構(gòu)
include/Linux/Fs。小時