Linux 中的 /dev 是虚拟的吗?

Linux 中的 /dev 是虚拟的吗?

今天工作时,一位客户rm -rf /dev删除了两个文件,导致/dev/shm他的网站无法再运行。

据我了解,/dev它不是虚拟的,但一位技术员建议重启服务器,因为/dev它是虚拟的/proc。果然,我重启了服务器,客户端 rm -rf 的文件就在那里。

所以,我的问题是:是/dev虚拟的吗?是那种虚拟的吗/proc?有没有关于这方面的更多文档?如何/dev在不重启服务器的情况下恢复文件?

答案1

长期以来,答案一直是“有点”。

目前 Linux 设备树由udev,一个几年前取代了 devfs 的用户空间设备管理器。udev 根据其配置文件中配置的规则,用系统需要的任何设备节点填充 /dev。

在最新的 Linux 系统上,/dev 位于由以下程序提供的临时 RAM 磁盘中:devtmpfs.你可以称它们为虚拟的。

例子:

devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)

如今,/dev 中实际设备节点的唯一用途是在 udev 启动之前用于引导环境。通常实际文件系统中只需要/dev/console/dev/null,这足以启动 udev。然后它将提供其他一切。

相关内容