详细的 Linux 常用文件系统介绍

Linux 常用文件系统分为三大类:

  1. 磁盘型文件系统(真正把数据存到磁盘/SSD 上)
  2. 内存/虚拟文件系统(依赖 RAM 或内核数据结构,不在磁盘上)
  3. 分布式/网络文件系统(跨主机存储访问)
objectivec 复制代码
Linux 文件系统
│
├── 传统本地文件系统
│   ├── ext2 / ext3 / ext4
│   ├── XFS
│   ├── ReiserFS
│   └── Btrfs
│
├── 网络文件系统
│   ├── NFS
│   ├── SMB/CIFS (Samba)
│   ├── CephFS
│   └── GlusterFS
│
├── 专用文件系统
│   ├── VFAT / exFAT
│   ├── ISO9660 / UDF
│   ├── tmpfs
│   ├── procfs
│   ├── sysfs
│   └── cgroupfs

🗂️ 一、磁盘型文件系统(最常见)

1. ext2/ext3/ext4

  • ext2:最早的稳定 Linux 文件系统,不支持日志 (journal),恢复慢。

  • ext3:在 ext2 上增加日志功能,崩溃后恢复快。

  • ext4:目前 Linux 默认常用文件系统之一,支持大文件、大分区,向后兼容 ext2/3。

    • 特点:extents(高效存储连续数据块)、延迟分配、日志功能。
    • 使用场景:通用,个人电脑、服务器。

2. XFS

  • 特点:高性能日志文件系统,支持超大文件/分区,分配空间快。
  • 缺点:小文件多时效率比 ext4 差,碎片整理依赖工具。
  • 使用场景:数据库、大型文件存储。
  • SLES、RHEL 默认推荐

3. Btrfs

  • 特点:下一代 Linux 文件系统,内建快照、压缩、子卷管理。
  • 优点:支持在线扩展、快照回滚、数据校验。
  • 缺点:在某些内核版本稳定性不足。
  • 使用场景:SUSE/SLES 常用于根文件系统(快照用于系统回滚)。

4. ReiserFS

  • 特点:曾经流行,特别适合小文件存储。
  • 缺点:已停止维护,逐渐被 ext4 和 btrfs 替代。

5. ZFS (移植到 Linux)

  • 特点:来自 Solaris,内建卷管理 + 文件系统,支持快照、校验、数据修复。
  • 缺点:内核集成问题(CDDL 与 GPL 许可证冲突)。
  • 使用场景:高可靠性存储、NAS。

📌 二、内存/虚拟文件系统(不存磁盘)

这些文件系统并不是"真正存储",而是 Linux 内核对进程、内存、硬件的一种接口。

1. tmpfs

  • 存储位置:内存(可交换到 swap)。
  • 特点:速度快,掉电数据消失。
  • 常见挂载点/dev/shm, /run, /tmp
  • 用途:临时文件、共享内存、运行时数据。

2. devtmpfs

  • 存储位置:内核内存。
  • 作用:自动为系统设备(/dev 下)创建设备节点。
  • 常见挂载点/dev

3. procfs

  • 作用:内核导出进程信息、系统信息的接口。
  • 常见挂载点/proc
  • 用途 :查看 /proc/cpuinfo, /proc/meminfo, /proc/[pid]/status

4. sysfs

  • 作用:内核导出设备、驱动、总线信息的接口。
  • 常见挂载点/sys
  • 用途 :查看硬件、调节内核参数(如 /sys/class/net/eth0)。

5. cgroupfs

  • 作用:控制组文件系统,限制/监控进程资源(CPU、内存、I/O)。
  • 常见挂载点/sys/fs/cgroup

6. debugfs

  • 作用:调试文件系统,提供内核内部调试信息。
  • 常见挂载点/sys/kernel/debug

🌐 三、网络/分布式文件系统

1. NFS (Network File System)

  • 特点:UNIX/Linux 经典网络文件系统,客户端挂载远程服务器目录。
  • 用途:共享目录、集群。

2. CIFS/SMB

  • 特点 :Windows 文件共享协议。Linux 通过 cifs 驱动挂载。
  • 用途:Linux 与 Windows 文件共享。

3. CephFS

  • 特点:基于 Ceph 分布式存储,支持高扩展性和高可靠性。
  • 用途:云存储、大规模集群。

4. GlusterFS

  • 特点:分布式文件系统,用户态实现。
  • 用途:横向扩展存储。

5. AFS / Lustre

  • AFS:早期分布式文件系统。
  • Lustre:高性能计算集群常用文件系统。

📊 总结对比表

类型 文件系统 特点 / 优势 典型挂载点 / 应用
磁盘型 ext4 稳定、广泛使用 /, /home, /var
XFS 大文件、大分区高效 /, 数据库存储
Btrfs 快照、压缩、子卷 根分区,SLES 系统回滚
内存型 tmpfs 基于 RAM,掉电消失 /dev/shm, /run, /tmp
procfs 内核/进程信息接口 /proc
sysfs 硬件、驱动信息接口 /sys
网络型 NFS 跨机共享,UNIX/Linux 常用 /mnt/nfs
CIFS/SMB Windows 共享 /mnt/share
CephFS 分布式,云存储 大规模集群
GlusterFS 用户态分布式存储 横向扩展

相关推荐
逆小舟2 分钟前
【Linux】人事档案——用户及组管理
linux·c++
青草地溪水旁3 分钟前
pthread_mutex_lock函数深度解析
linux·多线程·pthread
太空的旅行者1 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师3 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
灿烂阳光g3 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux
Ronin3055 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
ZzzK,5 小时前
JAVA虚拟机(JVM)
java·linux·jvm
Aspiresky6 小时前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
ajassi20007 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
..过云雨7 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习