Linux--文件系统

1. 文件系统

  • 磁盘分区上的文件存储管理
    在这里插入图片描述
  • inode节点:文件的元信息节点(名称、时间、权限、数据块地址…)
  • Block Group:ext2文件系统会根据分区的大小活粉为数个Block Group,而每个Block Group都有相同的结构组成;
  • 超级块(Super Block):存放文件系统本身的结构信息。super block的信息被破坏,可以说整个文件系统结构就被破坏了。记录的信息主要有:
    · block和inode的总量,
    · 未使用的block和inode的数量,
    · 一个block和inode 的大小,
    · 最近一次挂载时间,
    · 最近一次写入数据的时间,
    · 最近一次检验磁盘的时间等其他文件系统的相关信息。
  • 块位图(Block Bitmap):Block Bitmap中记录着Data Block中哪个数据块已经被占用,哪个数据块没有被占用
  • inode位图(inode Bitmap):每个bit表示一个inode是否空闲可用

文件的存储

  • 在超级块中找到对应得inode位图以及data位图区域地址,在对应位图中找到空闲的inode节点号以及空闲数据块号,进而存储文件数据到数据块中,并且将文件得元信息保存到inode节点中。
  • 在所在目录文件中加入目录项信息–当前文件名以及inode节点号。

文件数据的读取

  • 从所在目录文件中找到文件的目录项信息(通过文件名找到inode节点号),在文件系统的inode区域中通过inode节点号找到inode节点,从inode节点中获取到数据块号,这时就可以从对应数据块中取出数据了。

2. 软链接文件与硬链接文件

  • 都是针对一个源文件创建的,通过创建的软链接或硬链接文件访问源文件数据。

命令操作

1)硬链接创建

  • ln test.c test.hard
  • 硬链接文件创建后,文件的链接数+1,硬链接文件的inode节点号和文件的inode节点号相同
  • 硬链接文件实际上是源文件的一个目录项信息,与源文件共用同一个inode节点
    在这里插入图片描述

2)软链接创建

  • ln -s test.c test.soft
  • 创建软连接文件后,源文件并没有变化,软链接文件有独立的inode节点,但是文件内容中保存的是源文件的路径
    在这里插入图片描述
  • 以 l 开头的是软链接文件
    在这里插入图片描述
  • 删除源文件,对于硬链接文件没有影响,只是链接数-1,易安科仪访问文件数据,对于软链接来说,则软链接失效(软链接只认路径,不认文件)
  • 软链接文件可以跨分区建立,但是硬链接文件不可以
  • 软链接文件可以针对目录创建,但是硬链接不可以

猜你喜欢

转载自blog.csdn.net/qq_46659987/article/details/115425974