磁盘上存储的基本单位是扇区 512字节
读取磁盘时,磁头找的是某一个面,某一个磁道,某一个扇区
LBA逻辑块地址
- 3234
CHS地址
- C:3234%1000=234 234/20=11
- H:3 3234/1000
- s:14 234%20=14
文件=内容+属性 都是数据 linux将内容和属性分开存储
内容存在block中 4kb 以快为单位,每块单位4kb
- inode存属性,磁盘的另一个空间 128字节 (稳定的,以12字节为单位)
- inode属性里有一个inode编号,一个文件,一个inode号
- ll-i 查看inode号
- Block Bitmnp 表示是bloc块是否被占用
- inode Bitmnp 表示inode块是否被占用
- GDT:有多少inode,起始的inode编号,有多少个inode被使用,有多少block被使用,还剩多少,总group,大小是多少
- SB(super block) 文件系统的顶层数据结构
- inode是报错文件对应的block编号
Linux下,文件都是用inode编号标识文件的
目录=内容+属性
内容为block 存的是 文件名与inode的映射关系
当我们创建一个文件,操作系统做了什么?
当对应的块中,在inode Bitmnp找到一个没被占用的inode,然后把对应inode由0置1,再把文件属性写入inode Tab内 此时inode Tab里的是block置0。
当要向此文件写入内容,再block Bitmnp找到没被使用的,再向Data block写入内容,再向inode Table内写入inode Tab与Datablock的映射关系,再返回inode
文件名 inode编号 -》找到自己所处目录-》根据inode-》找到目录的datablock-》将文件名和inode编号映射关系写入到目录的数据块中。
文件名再目录的数据块中,并不在inode的属性内
一个文件一定在一个目录下创建
删除一个文件,操作系统做了什么?
从文件名与inode的映射关系,找到inode,再以inode找到对应的Block group,然后将对应的Block Bitmnp和inode Bitmnp由1置0即可。
所以为什么删除比下载快很多!
stat 文件 (查看块位置)
软硬链接
ln -s 要链接的文件 链接后的文件 软连接
ln 要链接的文件 链接后的文件 硬连接
软硬链接的区别:
软链接是一个独立文件,有自己独立的inode和inode编号。
硬链接在指定的目录下给指定的文件新增文件名和inode编号的映射关系。
软件链接一个目录下的可允许文件,然后不在m3的目录下,在其他目录下,允许此软件的文件,也可以执行此文件。软连接相当于win的桌面快捷方式。
unlink 删除软硬链接
硬连接数
ll -i查看inode数,本质是该文件inode属性中的计数器,count标记有几个文件名和我的inode1建立了映射关系
文件的硬连接数是一个,因为本身和inode有映射关系,算1。
而目录的硬连接数是两个,为什么?
目录本身就有两个硬连接数,目录内有.和..的隐藏文件 .指向本身的目录,所以+1个硬连接数,而目录本身和inode有映射关系+1 所以有两个 ..是指向上一个目录的文件。
标签:文件,映射,文件系统,目录,inode,链接,block From: https://www.cnblogs.com/LonelyMoNan/p/16855748.html