公众号旧文
为什么 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 是 一棵统一的文件树。