详细的 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启动:chroot、execve与MS_MOVE的协奏曲
linux·服务器·网络
影视飓风TIM2 小时前
Linux下C语言缓冲区原理 + Git版本控制
linux·c语言·git
来者皆善3 小时前
ZYNQ linux上使用 USB CDC ACM
linux·运维·服务器
Dawn-bit4 小时前
Linux磁盘分区与Swap和磁盘故障查询
linux·运维·服务器·网络·云计算
无足鸟ICT6 小时前
【RHCA+】$[]
linux·运维·服务器
运维技术小记6 小时前
国产化环境配置 VNC 远程桌面:麒麟 V10 实战
linux·运维·服务器
xiaoye-duck6 小时前
《Linux系统编程》Linux 系统多线程(八): C++ 高并发线程池全链路深度解析与从零手撕实现
linux·c++·线程池
寒水馨7 小时前
Linux下载、安装protobuf-v35.1(附安装包protoc-35.1-linux-x86_64.zip)
linux·运维·服务器·google·序列化·protobuf·protoc
王琦03187 小时前
Linux的文件管理
linux·运维·服务器
☆凡尘清心☆7 小时前
CentOS Stream 9 Redis 7.2.7 源码编译一键安装脚本
linux·运维·redis·centos