Linux基础篇学习——Linux文件系统之文件存储与读取:inode,block,superblock

Linux基础篇学习——Linux文件系统之文件存储与读取:inode,block,superblock,第1张

Linux基础篇学习——Linux文件系统文件存储与读取:inode,block,superblock Linux文件类型 代表符号 含义 - 常规文件,即file d directory,目录文件 b block device,块设备文件,支持以"block"为单位进行随机访问 c character device,字符设备文件,支持以"character"为单位进行线性访问 l symbolic link,符号链接文件 p pipe,命名管道 s socket,套接字文件 文件命名规则

1.严格区分大小写

2.目录也是文件

3.除过/以外的任意字符表示

4.长度不超过255

文件存储与读取 文件存储

1.文件存储在硬盘

2.文件存取最小单位是(block),块(block)由扇区组成,最常见的块大小为4KB,即8连续sector组成一个block

3.硬盘的最小存储单位叫做扇区(sector),每个扇区存储512字节

文件读取

*** 作系统读取硬盘数据:一次性读取一块数据

流程 以要读取/etc/passwd文件内容为例

Linux文件系统

Linux文件系统可以简单分为inode table和data area,inode table中存有inode,文件系统通常会将文件的权限属性放置到inode中,至于实际内容则放置到data block区块中。


另外,还有一个超级区块(superblock)会记录整个文件系统的整体信息


inode block superblock 记录文件的元数据 记录文件的数据 记录文件系统的整体信息

文件的元数据 :权限(rwx)与属性(拥有者、群组、时间参数、大小等)

文件的数据:实际记录文件的内容 若文件太大时,会占用多个block

文件系统的整体信息:inode/block的总量使用量剩余量, 以及档案系统的格式与相关信息等

inode补充

1.可以通过stat命令查看文件的元数据

[root@localhost ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1241 Blocks: 8 IO Block: 4096 regular file
Device: 802h/2050d Inode: 16797762 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2019-09-07 16:17:23.995429241 +0800
Modify: 2019-09-07 16:17:24.005456452 +0800
Change: 2019-09-07 16:17:24.005456452 +0800
Birth: -

File 文件名称

Size 文件大小

Blocks 占用的磁盘块数

IO Block IO块大小

regular file 文件类型

Device 所在设备

InodeInode节点号

Links被链接次数

Access①访问权限

Uiduid号属主

Gidgid号属组

Access② 文件最近一次的访问时间

Modify 文件的修改时间

Change 文件的改变时间

2.inode同时也记录此文件的资料所在的block号码

3.inode消耗磁盘空间

  在磁盘格式化时, *** 作系统会自动将磁盘分为两个区域,一个数据区,一个inode区。


整个磁盘的可用容量由inode磁盘空间共同决定,当inode消耗完之后,磁盘空间还有剩余也无法存储数据。


补充

1.小文件问题:可能会使inode耗尽,使得文件文法创建。


(磁盘利用率低)--->对于小文件比较多的场景,将block划分小一点。




2.大文件问题:一个文件占用多个block,使得文件读写速率慢。


---->将block划分大一点。




3.ext文件系统——xfs文件系统

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/587532.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-12
下一篇 2022-04-12

发表评论

登录后才能评论

评论列表(0条)

保存