公众号旧文

为什么 Linux 没有 C 盘、D 盘?

作者:胖子阅读 —

很多第一次接触 Linux 的人,都会有一个疑问:

为什么 Linux 里没有 C 盘、D 盘?

在 Windows 中,我们习惯看到这样的结构:

  • C 盘:系统盘
  • D 盘:数据盘

但当你进入 Linux 之后,会发现整个系统只有一个目录结构,比如:

/
├── bin
├── etc
├── home
├── usr
├──
var
└── ...

没有任何 “盘符”。

这并不是 Linux 的缺点,而是 一种完全不同的设计理念。

今天我们就来讲讲:为什么 Linux 不需要 C 盘 D 盘。

一、Windows:盘符式文件系统

Windows 的文件系统来自早期的 DOS 设计。

在 DOS 时代,一台电脑可能有:

  • A: 软盘
  • B: 软盘
  • C: 硬盘

因此系统用 字母来区分不同设备。

后来硬盘越来越多,就变成:

  • C: 系统盘
  • D: 数据盘
  • E: 光驱
  • F: U 盘

于是 Windows 的文件路径通常是这样:

C:\Windows\System32
D:\Movies\Avatar.mkv
E:\Software\setup.exe

也就是说:

每个磁盘是独立的文件系统。

每个盘都有:

  • 自己的根目录
  • 自己的空间
  • 自己的结构

盘与盘之间是 分离的世界。

二、Linux:只有一个文件树

Linux 的设计理念完全不同。

Linux 认为整个系统只有一个文件树(Filesystem Tree)。

所有文件都从一个根目录开始:

/
这个 / 叫做 根目录(root)。

所有东西都挂在这棵树上:

/
├── bin
├── boot
├── dev
├── etc
├── home
├── usr
└──
var

不管是:

  • 硬盘
  • U盘
  • 光驱
  • 网络存储
  • 内存设备

都可以 挂载(mount) 到这棵树的某个位置。

三、什么叫挂载?

举个例子。

假设你的电脑有两块硬盘:

硬盘1:系统盘
硬盘2:数据盘

在 Windows 里可能是:

C
:\  (硬盘
1
)
D
:\  (硬盘
2
)

而在 Linux 中可能是这样:

/           (硬盘1)
/data       (硬盘2)

也就是说:

硬盘2 被挂载到 /data

访问方式就变成:

/data/movie/avatar.mkv
/data/photos/2025.jpg

用户甚至感觉不到这是另一块硬盘。

四、Linux 的设计为什么更高级?

Linux 这种设计其实 更灵活、更强大。

1.可以把任何设备挂到任何目录

例如:

/home      → 用户数据盘
/var       → 日志盘
/backup    → 备份盘

服务器常见配置:

/      系统
/home  用户
/var   日志

这样可以避免日志把系统盘写满。

2.网络存储也可以当本地盘

比如:

/mnt/nas

实际上可能是:

  • NAS
  • NFS服务器
  • 云存储

但访问方式仍然一样:

/mnt/nas/movie.mkv

程序完全不需要知道这是网络存储。

3.可以动态挂载

插入 U 盘后:

/media/usb

U盘就会挂在这里。

拔掉后目录还在,但设备消失。

五、Linux 的一句经典哲学

Linux 世界有一句非常经典的话:

Everything is a file.

一切皆文件。

在 Linux 里:

  • 硬盘是文件
  • 设备是文件
  • 网络接口是文件
  • 进程信息是文件

甚至 CPU 信息都可以通过文件读取:

/proc/cpuinfo

这种统一的设计,让系统变得极其优雅和强大。

六、总结

为什么 Linux 没有 C 盘 D 盘?

因为 Linux 使用的是 统一文件树结构,而不是 盘符结构。

两者的区别可以简单总结:

系统 设计方式
Windows 多个盘符(C D E)
Linux 一个根目录 /

Windows:

C:\Program Files
D:\Movies
E:\Games

Linux:

/usr
/home
/mnt/disk

Windows 是 多个独立磁盘世界。

Linux 是 一棵统一的文件树。