详细的 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 用户态分布式存储 横向扩展

相关推荐
莱茶荼菜29 分钟前
Ubuntu 20.04 系统库管理详细教程
linux·运维·ubuntu
迅为电子1 小时前
嵌入式Linux新手入门:北京迅为3568开发板驱动开发第二章helloworld 驱动实验
linux·运维·驱动开发
nono牛4 小时前
MTK平台详解`adb devices`输出的序列号组成
android·linux·adb·智能手机
catoop5 小时前
Linux 自动清理临时文件配置
linux·服务器
Xの哲學5 小时前
Linux eMMC子系统深度解析:从硬件协议到内核实现
linux·网络·算法·架构·边缘计算
亚林瓜子5 小时前
在amazon linux 2023上面通过Fedora 36软件仓库源安装tesseract5
linux·运维·服务器·ocr·tesseract·amazon·fedor
是专家不是砖家5 小时前
linux USB摄像头不停掉线问题
linux·运维·服务器
yuanManGan5 小时前
走进Linux的世界:初识进程(Task)
linux·运维·服务器
NiKo_W5 小时前
Linux UdpSocket的应用
linux·服务器·网络·内核·线程
稚辉君.MCA_P8_Java5 小时前
深入理解 TCP;场景复现,掌握鲜为人知的细节
java·linux·网络·tcp/ip·kubernetes