请教一个 Linux 磁盘占用的问题

2018-10-15 14:10:51 +08:00
 lander
用 df -h 命令看了下磁盘占用,结果如下

Filesystem Size Used Avail Use% Mounted on
/dev/sda3 4.5G 1.3G 3.0G 30% /
/dev/sda1 134M 13M 115M 10% /boot
/dev/sda4 94G 123M 89G 1% /data
tmpfs 2.0G 0 2.0G 0% /dev/shm

问下 /dev/sda3 挂载到了‘/’是什么意思?按我理解‘/’是根目录,包含所有磁盘的总大小,求指教,先谢过各位。
1924 次点击
所在节点    Linux
7 条回复
d0m2o08
2018-10-15 14:15:18 +08:00
/是表示所有目录的开始 就像 windows 的 C:D:
不可能出现一个绝对路径 boot/1123 只能是 /boot/1123
所以 sda3 挂载到了 /
sda1 可以挂载到 /data
假如你有第二块盘 sdb1 还可以挂载到 /second
araraloren
2018-10-15 14:21:03 +08:00
`/` 是挂载点,了解一下。。
RainyH2O
2018-10-15 14:46:20 +08:00
想问的是某个挂载点对应的块设备是否包含其他挂载点的块设备吧?
虽然没读过相应文档,不过经验论就是块设备都是独立的
也就是说你挂载一个目录,就使得这一目录独享一个块设备了
而这一目录下的所有未挂载的子目录自然就位于该目录挂载的块设备上了
与之对应的这一目录下的子目录如果挂载到其他块设备,那么就不计入该目录的块设备容量统计中了,因为这个挂载点对应的块设备不是该子目录挂载点对应的块设备
目录树是抽象的存在,具体标准参考 FHS ;块设备是物理的设备
挂载就是将抽象和物理连接起来的一个操作
实现挂载的机制是操作系统内核提供的,属于文件系统的范畴
相应的有 mount 系统调用,本质上是提供一种连接两种不同文件系统的机制
说复杂了,对应你的问题就是你没理解目录树和挂载的概念吧
df 对应的每一行实际对应的是一个块设备的容量,挂载点是该块设备在操作系统文件系统的一个标识符
你就先这么理解着吧
tailf
2018-10-15 14:50:42 +08:00
挂载点是一个逻辑概念,是一个文件系统中的标识,而标识本身并不能得到自己的大小。

磁盘才有大小。
sbw
2018-10-15 14:51:27 +08:00
因为只有一个 root,没在其它上面的就都在 sda3
/boot/* 在 sda1
/data/* 在 sda4
dorothyREN
2018-10-15 16:01:31 +08:00
sda3 挂载到 /了,/下有个目录叫 data,sda4 挂载到 data 了,这么说能理解吗
lander
2018-10-15 16:30:20 +08:00
感谢各位解答,应该是明白了~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/497749

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX