为什么ROOT ( /
)下的目录,如bin
、、、、、、、...称为虚拟目录?它们实际上存在于系统上吗?boot
etc
home
root
var
答案1
他们不是。
/proc
另一方面/sys
可以这样称呼,因为安装在它们上的文件系统没有任何后备存储或传统的文件系统数据结构。相反,它们的内容只是从各种内核数据结构中动态创建的。 (proc
具有有关进程的数据、参数以及sysctl
其他内容;并且sys
具有有关系统上的设备的数据。)
(这目录 /proc
并且/sys
仍然必须存在于根文件系统上,以便可以在其上安装某些内容。但安装后,您将看不到它们。)
答案2
我喜欢这个词虚拟的,所以我在维基百科中查找了“虚拟目录”:
出现在路径中但未出现的文件夹实际上路径中前一个文件夹的子文件夹
大多数情况下,它意味着通过虚拟目录服务器 (VDS) 的附加层。
但是,如果您考虑安装文件系统和符号链接的概念,您的列表实际上包含一些特殊的“文件夹”。
/bin
只是一个关联(到/usr/bin)。
/boot
包含您安装到其中的任何设备。对于home
和 也是如此var
。
最好谈论(可能/默认)安装点而不是“虚拟目录”。
在这里,我宁愿将/dev
,/run
和/tmp
作为“/”中的特殊文件夹,放在/proc
和旁边/sys
:
]# findmnt |grep '^|-'
|-/proc proc proc rw,nosuid,nodev,noexec,relatime
|-/sys sys sysfs rw,nosuid,nodev,noexec,relatime
|-/dev dev devtmpfs rw,nosuid,relatime,size=4023440k,nr_inodes=1005860,mode=755
|-/run run tmpfs rw,nosuid,nodev,relatime,mode=755
|-/tmp tmpfs tmpfs rw,nosuid,nodev