课程咨询 :025-84812726

  • 鸟哥的Linux私房菜-基础学习篇3

    发布:南京linux培训      来源:南京linux培训      

  • 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与磁盘空间

    更多linux资讯请点击:南京linux培训课程资料。

上一篇:鸟哥的Linux私房菜-基础学习篇2

下一篇:鸟哥的Linux私房菜-基础学习篇4

最新开班日期  |  更多

 Linux--零基础全日制班

Linux--零基础全日制班

开班日期:04-28

Linux--全日制班

Linux--全日制班

开班日期:04-28

Linux--零基础周末班

Linux--零基础周末班

开班日期:04-28

Linux--周末班

Linux--周末班

开班日期:04-28

  • 地址:南京市龙蟠中路30号东来商务中心A座5楼
  • 课程培训电话:025-84812726     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56