Linux 中的虚拟目录

Linux 中的虚拟目录

为什么ROOT ( /)下的目录,如bin、、、、、、、...称为虚拟目录?它们实际上存在于系统上吗?bootetchomerootvar

答案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

相关内容