当前位置: 首页 > news >正文

Linux(13)——Ext系列⽂件系统

磁盘物理结构

磁盘由多个盘片组成,每个盘片分为多个同心圆的磁道,磁道又被划分为扇区。盘片两面有磁头进行读写操作。现代磁盘通常采用扇区大小512字节或4KB,物理结构影响数据存取效率。

CHS与LBA地址

**CHS(柱面-磁头-扇区)**是传统磁盘寻址方式,通过三维坐标定位数据:

  • 柱面(Cylinder):所有盘片的同一磁道组成的柱面
  • 磁头(Head):选择具体盘面
  • 扇区(Sector):指定具体扇区位置

**LBA(逻辑块地址)**是现代磁盘采用的线性寻址方式,将整个磁盘空间按顺序编号。转换公式:

LBA = (C × H + H) × S + (S - 1)

操作系统通常使用LBA,磁盘控制器自动转换为CHS。

Ext系列文件系统原理

Ext(Extended File System)是Linux主流文件系统,关键结构:

  • 超级块(Superblock):记录文件系统整体信息(如inode总数、块大小)
  • inode表:存储文件元数据(权限、大小、数据块指针)
  • 数据块:实际存储文件内容

Ext4改进特性:

  • 支持更大的文件和分区(1EB文件,16TB分区)
  • 引入Extent取代块映射,提升大文件性能
  • 日志功能减少fsck时间
// inode结构示例(简化)
struct ext4_inode {__le16 i_mode;     // 文件类型和权限__le64 i_size;     // 文件大小__le32 i_block[15];// 数据块指针数组
};

分区与格式化

分区将物理磁盘划分为逻辑单元,常见工具:

  • fdisk:MBR分区表(最大2TB)
  • gdisk:GPT分区表(支持更大容量)

格式化创建文件系统:

mkfs.ext4 /dev/sda1  # 创建ext4文件系统

参数可指定块大小(如-b 4096)、inode数量等。

路径解析与挂载

路径解析流程:

  1. 从根目录inode(通常为2)开始查找
  2. 逐级匹配目录项(dentry)中的文件名与inode编号
  3. 最终定位目标文件inode

挂载将文件系统接入目录树:

mount /dev/sdb1 /mnt/data  # 将分区挂载到/mnt/data

内核维护挂载点信息,通过/proc/mounts可查看。

软硬连接

硬连接

  • 直接指向文件inode,与原始文件等价
  • 不能跨文件系统,目录不可用
  • ln source.txt hardlink创建

软连接(符号链接)

  • 独立文件存储目标路径
  • 可跨文件系统,指向目录
  • ln -s source.txt symlink创建

关键区别:

特性硬连接软连接
inode相同不同
跨文件系统不可
原始文件删除仍有效失效

通过ls -i可查看inode编号验证连接类型。

http://www.xdnf.cn/news/880759.html

相关文章:

  • Amazing晶焱科技:电子系统产品在多次静电放电测试后的退化案例
  • RKNN3588上部署 RTDETRV2
  • Day45
  • [Git] 分布式版本控制 远程仓库协作
  • C语言输入函数
  • 1、Go语言基础中的基础
  • Django之表格上传
  • Linux服务器如何安装wps?
  • Java中List的forEach用法详解
  • ObjectMapper 在 Spring 统一响应处理中的作用详解
  • 稳定币的深度剖析与展望
  • 探秘实验室铁地板:科技与安全的完美结合
  • Bug问题
  • Axure零基础跟我学:展开与收回
  • 【Axure高保真原型】图片列表添加和删除图片
  • 企业配电系统安全升级,从局放监测开始
  • vue-18(使用 Vuex 插件实现高级功能)
  • Transformer实战——词嵌入技术详解
  • OpenAI技术路线急转:从TypeScript到Rust的Codex CLI重构内幕
  • 深度学习学习率优化方法——pytorch中各类warm up策略
  • 毕业季AI特训营:AI从入门到实践的2天冲刺计划
  • 软件工程:如何做好软件产品
  • Python使用总结之Mac安装docker并配置wechaty
  • DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_天气预报日历示例(CalendarView01_18)
  • 【Redis从入门到精通实战文章汇总】
  • elasticsearch-8.17.4
  • ReLU 激活函数:重大缺陷一去不复返!
  • 智能照明系统:具备认知能力的“光神经网络”
  • 短剧系统开发实践:打造高质量短视频平台的解决方案
  • Flask-Babel 使用示例