设为首页 收藏本站
查看: 417|回复: 0

[经验分享] 鸟哥的Linux私房菜-基础学习篇3

[复制链接]

尚未签到

发表于 2016-3-11 12:32:31 | 显示全部楼层 |阅读模式
  13.Linux 的EXT3文件系统
  在标准的ext3文件系统中,将每个文件的内容分为两个部分存储,一个是文件的属性,另一个是文件的内容。ext3规划出inode与块来分别存储文件的属性(放在inode中)与文件的内容(放置在块区域中)。当分区被格式化为ext3的文件系统时,它一定会有inode表与块区域这两个区域。
  inode是记录“该文件的相关属性,以及文件内容放置在哪一个块内”的信息。块是记录“文件内容数据”的区域。indoe除了记录文件的属性外,同时还必须具有指针(pointer)的功能,即指向文件内容放置的块之中,让操作系统可以正确获取文件的内容。
  inode记录的信息主要有:
  该文件的拥有者与用户组(owner/group)
  该文件的访问模式(rwx)
  该文件的类型(type)
  该文件建立或状态改变的时间(ctime)、最近一次的读取时间(atime)、最近修改的时间(mtime)
  该文件的大小
  定义文件属性的标志(flag),如SetUID...
  该文件真正内容的指针(pointer)
  一个inode的大小为128字节
  在linux的ext3文件系统建立一个目录时,ext3会给该目录分配一个inode与至少一个块。inode记录该目录的相关属性,并指向分配到的哪个块。块记录在这个目录下的相关文件(或目录)的关联性
  在linux的ext3文件系统建立普通文件时,ext3会给该文件分配至少一个inode与相对于该文件大小的块数量。假设一个块为4kb,要建立一个100kb的文件,linux将分配一个inode与25个块来存储该文件
  inode本身并不记录文件名,而是记录文件的相关属性,文件名记录在目录所属的块区域,文件的相关连接回记录在目录的块数据区域
  要读取一个文件的内容时,linux会先由根目录/获取该文件的上层目录所在的inode,再由该目录所记录的文件关联性(在该目录所属的块区域)获取该文件的inode,最后通过inode内提供的块指针,来获取最终的文件内容
  
  操作系统根目录/的相关数据可获取/etc目录所在的inode,并读取/etc这个目录的所有相关属性
  根据/etc的inode的数据,可以获取/etc目录下所有文件的关联数据是放置在哪一个块中,并前往该块读取文件的关联性内容
  由上一步骤的块中,可以知道crontab文件的inode所在地,并前往该inode
  由上一步骤的inode中,可以获取crontab文件的所有属性,并且前往由inode所指向的块区域,顺利获取crontab的文件内容
  
  块与inodes在一开始格式化时就已经固定了
  一个分区能够容纳的文件数与inode有关
  一般来说,每4kb的硬盘空间分配一个inode
  一个inode的大小为128字节
  块为固定大小,支持1024/2048/4096字节等
  块越大,损耗的硬盘空间也越多
  对于单一文件,如块大小为1024,最大为16G,若为4096,则为2TB
  对于整个分区,若块大小为1024,最大为2TB,若为4096,则为32TB
  
  14.当建立一个ext3的文件系统时,它拥有超级块(superblock)、组描述(group description)、块位图(block bitmap)、inode位图(inode bitmap)、inode表(inode table)、数据块(data blocks)等区域
  SuperBlock(超级块):是记录整个文件系统相关信息的地方,没有它就没有这个文件系统,主要信息有:
  -块与inode的总量
  -未使用与已使用的inode/块数量
  -一个块与一个inode的大小
  -文件系统的载入时间、最近一次写入数据的时间、最近一次检验磁盘(fsck)的时间等文件系统的相关信息
  -有效位(valid bit)数值,若此文件系统已被载入,则有效位为0,未被载入,则为1
  Group Description(组描述):记录此块由何处开始记录
  Block bitmap(块位图):此处记录块是否使用
  Inode bitmap(inode位图):此处记录inode是否使用
  Inode table(inode表):为每个inode的数据存放区
  Data Blocks(数据块):为每个块的数据存放区
  
  #dumpe2fs /dev/hda1 获取文件系统内的这个信息
  
  15.ext3的数据访问是通过日志与元数据以及数据存放区记录的
  linux支持的文件系统有哪些:
  #ls -l /lib/modules/`uname -r`/kernel/fs
  系统当前已启用的文件系统有:
  #cat /proc/filesystems
  
  16.磁盘与目录的容量
  #df -ahTi 列出所有的文件系统,人性化,该分区的文件系统名称,inode数量
  #du -ahs
  
  17.硬连接只是在某个目录下的块多写入一个关联数据,并不会用掉inode与磁盘空间

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-189418-1-1.html 上篇帖子: 鸟哥的Linux私房菜-基础学习篇2 下篇帖子: 从著名的list_head看linux内核中OO
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表