日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

inode介紹

帶你重新認識Linux系統的inode

linux

在Linux操作系統中,將文件系統分為2部分,一部分為數據區,一部分為元數據區,這里的元數據就是inode,它存取文件的創建者,文件的創建日期,修改日期,訪問日期,文件大小等信息。

獲取inode節點內容

只要在某個文件系統下,創建一個文件,用stat命令就可以獲取到inode節點內容。

[MySQL@mysql test]$ stat test.log
  文件:"test.log"
  大小:9               塊:8          IO 塊:4096   普通文件
設備:fd02h/64770d      Inode:8393435     硬鏈接:1
權限:(0664/-rw-rw-r--)  Uid:( 2001/   mysql)   Gid:( 4001/   mysql)
最近訪問:2020-09-28 15:34:05.452763004 +0800
最近更改:2020-09-28 15:34:05.452763004 +0800
最近改動:2020-09-28 15:34:05.517763243 +0800

讀取文件原理

當你執行cat test.log命令時,Linux是如何讀取到文件內容的呢。


其實在Linux系統內部,是不使用文件名的,真正使用的是inode節點號,首先系統會通過文件名找到對應的inode節點號,然后通過inode節點號,獲取到inode節點信息,最后,通過獲取的inode節點信息,讀取需要數據內容。

帶你重新認識Linux系統的inode

 

文件系統inode計算方式

在這里用xfs類型的文件系統舉例。

[mysql@mysql test]$ df -Th|grep -i home
文件系統                類型        1K-塊     已用     可用 已用% 掛載點
/dev/mApper/centos-home xfs        10G  324M  9.7G    4% /home

可以看到/home的文件系統類型為xfs,那如何知道/home文件系統的inode節點數呢。

[mysql@mysql test]$ df -i|grep -i home
文件系統                   Inode 已用(I)  可用(I) 已用(I)% 掛載點
/dev/mapper/centos-home  5242880     354  5242526       1% /home

從上面的結果可以看到/home文件系統的inode節點總數為5242880,你是否想知道5242880是怎么計算出來的呢,在這里可以用xfs_info命令來獲取更詳細的信息了。

[mysql@mysql test]$ xfs_info /home
meta-data=/dev/mapper/centos-home isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

在這里可以獲取到isize=512,這個就是一個inode占用0.5k字節,maxpct=25代表占用整個文件系統總大小的25%。


所以inode總數可以這樣計算:2621440 * 4 * 0.25 / 0.5= 5242880

在一個文件系統里,inode節點資源是有限的,如果小文件過多,將inode節點數用光了,就算此時文件系統還有空余磁盤空間,也無法創建新文件的,這個時候要不刪除無用的文件,要不就擴容inode節點總數。

在這里在擴展一個知識點,當你有在文件系統里創建了一個帶特殊符號的文件時,直接用文件名是無法刪除的,在這里就來測試一下。

wen[mysql@mysql test]$ ls -l
總用量 0
-rw-rw-r-- 1 mysql mysql 0 9月  28 16:13 -test.jldfa
[mysql@mysql test]$ rm -test.jldfa
rm:無效選項 -- t
Try 'rm ./-test.jldfa' to remove the file "-test.jldfa".
Try 'rm --help' for more information. 
[mysql@mysql test]$ 
[mysql@mysql test]$ rm "-test.jldfa"
rm:無效選項 -- t
Try 'rm ./-test.jldfa' to remove the file "-test.jldfa".
Try 'rm --help' for more information.

怎么辦,這里可以通過2種方式刪除
第一種,根據系統提示用rm ./-test.jldfa進行刪除
第二種,利用inode號進行刪除

j [mysql@mysql test]$ ls -li 
總用量 0
8393433 -rw-rw-r-- 1 mysql mysql 0 9月  28 16:13 -test.jldfa
[mysql@mysql test]$ pwd
/home/mysql/test
[mysql@mysql test]$ find /home/mysql/test -inum 8393433
/home/mysql/test/-test.jldfa
[mysql@mysql test]$ find /home/mysql/test -inum 8393433 -delete
[mysql@mysql test]$ ll
總用量 0

可以看到文件已經刪除了。

分享到:
標簽:Linux inode
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定