第16集:Linux 文件系统结构
教学目标
- 理解Linux文件系统的基本概念和层次结构
- 掌握Linux文件系统层次标准(FHS)的核心内容
- 了解常见的Linux文件系统类型及其特点
- 能够识别和理解系统中的主要目录及其作用
核心知识点讲解
1. Linux文件系统概述
Linux文件系统是一个分层的树形结构,从根目录(/)开始,向下延伸出各种子目录。这种结构设计使得文件管理更加清晰和高效。
2. 文件系统层次标准(FHS)
文件系统层次标准(Filesystem Hierarchy Standard, FHS)是Linux系统中目录结构的规范,它定义了各个目录的用途和组织方式:
/ # 根目录,所有文件和目录的起点
├── bin/ # 基本命令二进制文件
├── boot/ # 引导加载程序文件
├── dev/ # 设备文件
├── etc/ # 系统配置文件
├── home/ # 用户主目录
├── lib/ # 共享库文件
├── media/ # 可移动媒体挂载点
├── mnt/ # 临时挂载点
├── opt/ # 可选应用程序
├── proc/ # 进程信息(虚拟文件系统)
├── root/ # root用户主目录
├── run/ # 运行时数据
├── sbin/ # 系统管理命令
├── srv/ # 服务数据
├── sys/ # 系统硬件信息(虚拟文件系统)
├── tmp/ # 临时文件
├── usr/ # 用户程序和数据
└── var/ # 可变数据文件3. 常见文件系统类型
Linux支持多种文件系统类型,每种都有其特点和适用场景:
- ext4: 第四代扩展文件系统,是大多数Linux发行版的默认文件系统
- XFS: 高性能日志文件系统,适合大型文件和高吞吐量场景
- Btrfs: 新一代文件系统,支持快照、校验和等高级功能
- ZFS: 强大的文件系统,支持数据压缩、重复数据删除等功能
- tmpfs: 基于内存的临时文件系统,速度快但重启后数据丢失
4. 文件系统挂载
文件系统需要挂载到目录树中才能被访问。挂载是将文件系统与目录树中的某个目录关联起来的过程。
操作示例
示例1:查看文件系统结构
# 查看根目录结构
ls -la /
# 查看详细的文件系统信息
ls -la /bin /etc /home /var示例2:查看文件系统类型
# 查看当前挂载的文件系统及其类型
df -T
# 查看特定分区的文件系统信息
blkid /dev/sda1示例3:查看文件系统使用情况
# 查看文件系统使用情况
df -h
# 查看inode使用情况
df -i示例4:查看目录大小
# 查看根目录下各子目录的大小
du -h --max-depth=1 /
# 查看特定目录的大小
du -sh /home课后练习
基础练习:
- 列出根目录下的所有子目录,并解释每个目录的用途
- 使用
df命令查看系统中所有挂载的文件系统
进阶练习:
- 查找系统中最大的10个目录
- 分析
/var目录的结构,了解哪些子目录占用空间较大
思考问题:
- 为什么Linux采用树形目录结构?
- 不同文件系统类型的优缺点是什么?如何选择适合的文件系统?
总结
本集介绍了Linux文件系统的基本结构和组织方式,包括:
- Linux文件系统的树形结构和根目录的重要性
- 文件系统层次标准(FHS)定义的目录结构和用途
- 常见的Linux文件系统类型及其特点
- 文件系统挂载的基本概念
理解文件系统结构是Linux系统管理的基础,它有助于我们更好地组织和管理文件,以及排查系统问题。在下一集中,我们将详细介绍各个主要目录的具体用途和内容。