首页 » PHP教程 » phpmysqlinum技巧_带你从新熟习Linux系统的inode

phpmysqlinum技巧_带你从新熟习Linux系统的inode

访客 2024-11-04 0

扫一扫用手机浏览

文章目录 [+]

在Linux操作系统中,将文件系统分为2部分,一部分为数据区,一部分为元数据区,这里的元数据便是inode,它存取文件的创建者,文件的创建日期,修正日期,访问日期,文件大小等信息。

获取inode节点内容

只要在某个文件系统下,创建一个文件,用stat命令就可以获取到inode节点内容。

phpmysqlinum技巧_带你从新熟习Linux系统的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是如何读取到文件内容的呢。

phpmysqlinum技巧_带你从新熟习Linux系统的inode
(图片来自网络侵删)

其实在Linux系统内部,是不该用文件名的,真正利用的是inode节点号,首先系统会通过文件名找到对应的inode节点号,然后通过inode节点号,获取到inode节点信息,末了,通过获取的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 /homemeta-data=/dev/mapper/centos-home isize=512 agcount=4, agsize=655360 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =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.jldfarm:无效选项 -- tTry '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:无效选项 -- tTry '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 总用量 08393433 -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

可以看到文件已经删除了。

标签:

相关文章

执业药师试卷代码解码药师职业发展之路

执业药师在药品质量管理、用药安全等方面发挥着越来越重要的作用。而执业药师考试,作为进入药师行业的重要门槛,其试卷代码更是成为了药师...

PHP教程 2025-02-18 阅读1 评论0

心灵代码主题曲唤醒灵魂深处的共鸣

音乐,作为一种独特的艺术形式,自古以来就承载着人类情感的表达与传递。心灵代码主题曲,以其独特的旋律和歌词,唤醒了无数人的灵魂深处,...

PHP教程 2025-02-18 阅读1 评论0

探寻福建各市车牌代码背后的文化内涵

福建省,地处我国东南沿海,拥有悠久的历史和丰富的文化底蕴。在这片充满魅力的土地上,诞生了许多具有代表性的城市,每个城市都有自己独特...

PHP教程 2025-02-18 阅读1 评论0

探寻河北唐山历史与现代交融的城市之光

河北省唐山市,一座地处渤海之滨,拥有悠久历史和独特文化的城市。这里既是古丝绸之路的起点,也是中国近代工业的发源地。如今,唐山正以崭...

PHP教程 2025-02-18 阅读1 评论0