Linux 文件系统
ASP站长网在处理 Linux 系统出现的各种故障时,故障的症状是最易发现的,而导致这一故障的原因才是最终排除故障的关键。熟悉 Linux 系统中常见的日志文件,了解一般故障的分析与解决办法,将有助于管理员快速定位故障点、“对症下药”、并及时解决各种系统问题。
 
inode 与 block 详解
文件存储再硬盘上,硬盘最小存储单位是“扇区”,每个扇区存储512字节
 
文件数据包括元信息与实际数据
 
元信息包含文件属性信息,文件打开来输入的内容为实际数据
 
block(块)
 
连续的八个扇区组成一个block (4k)
是文件存取的最小单位
inode(索引节点)
中文译名为“索引节点”,也就i节点
用于存储文件元信息
关于CentOS 7文件系统与日志分析
 
inode的内容
inode包含文件的元信息
文件的字节数
文件拥有着的User ID
文件的Group ID
文件的读、写、执行权限
文件的时间戳
……
使用stat命令查看inode信息
[root@localhost mnt]# stat abc.txt           //查看abc文件inode信息
  文件:"abc.txt"
  大小:12         块:8          IO 块:4096   普通文件
设备:802h/2050d   Inode:18123362    硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:mnt_t:s0
最近访问:2019-09-02 04:12:18.210370997 +0800
最近更改:2019-09-02 04:12:18.210370997 +0800
最近改动:2019-09-02 04:12:18.210370997 +0800
创建时间:-
Linux系统文件三个主要的时间属性
ctime(change time):最后一次改变文件或目录(属性)的时间
atime(access time):最后一次访问文件或目录的时间
mtime(modify time):最后一次修改文件或目录(内容)的时间
目录文件的结构
目录也是文件
目录文件的结构
关于CentOS 7文件系统与日志分析
 
每个inode都有一个号码,操作系统用inode号码来识别不同的文件
Linux系统内部不使用文件名,而使用inode号命来识别文件
对于用户来说,文件名只是inode号码便于识别的别称
inode的号码
用户通过文件名打开文件时,系统内部的过程
 
系统找到这个文件名对应的inode号码
通过inode号码,获取inode信息
根据inode信息,找到文件数据所在的block,读出数据
查看inode号码的方法
ls -i命令:查看文件名对应的inde号码
[root@localhost mnt]# ls -i abc.txt           //查看文件节点信息 
18123362 abc.txt
inode的大小
inode也会消耗硬盘空间,每个inode的大小,一般时128字节或256字节
 
格式化文件系统时确定inode的总数
 
使用df -i命令可以查看每个硬盘分区的inode总数和已经使用的数量
[root@localhost mnt]# df -i               //查看分区节点信息
文件系统          Inode 已用(I)  可用(I) 已用(I)% 挂载点
/dev/sda2      10485760  121203 10364557       2% /
devtmpfs         229708     376   229332       1% /dev
tmpfs            233381       1   233380       1% /dev/shm
tmpfs            233381     560   232821       1% /run
tmpfs            233381      16   233365       1% /sys/fs/cgroup
/dev/sda5       5241856     146  5241710       1% /home
/dev/sda1       3145728     328  3145400       1% /boot
tmpfs            233381       6   233375       1% /run/user/42
tmpfs            233381      17   233364       1% /run/user/0
/dev/sr0              0       0        0        - /run/media/root/CentOS 7 x86_64
inode的特殊作用
由于inode号码与文件名分离,导致一些Linux系统具有以下的现象
当文件名包换特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
按节点号删除文件命令:find ./* -inum [节点号] -delete
[root@localhost mnt]# ls -i
16777284 ac1.txt  18123362 ac2.txt  18123366 ac3.txt  18123370 ac4.txt  18123371 ac5.txt
[root@localhost mnt]# find ./* -inum 16777284 -delete
[root@localhost mnt]# ls -i
18123362 ac2.txt  18123366 ac3.txt  18123370 ac4.txt  18123371 ac5.txt
移动或重命名文件时,只改变文件名,不影响inode号码
[root@localhost mnt]# ls -i
18123362 ac2.txt  18123366 ac3.txt  18123370 ac4.txt  18123371 ac5.txt
[root@localhost mnt]# mv ac2.txt /opt
[root@localhost mnt]# ls -i /opt
18123362 ac2.txt   1389838 rh
打开一个文件后,系统通过inode号码来识别该文件,不再考虑文件名

dawei

【声明】:九江站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。