Linux--文件系统
企业开发
2021-04-05 10:13:38
阅读次数: 0
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