Linux 中 /proc 和 /sys 目录有什么区别,我仍然对此表示怀疑

Linux 中 /proc 和 /sys 目录有什么区别,我仍然对此表示怀疑

除了之前的主要问题,我还有另一个问题,为什么我们不能在 /usr 中写入,即使它们可以是添加到我们系统中的新软件包,这是否意味着它只保存首次使用的应用程序和程序的信息和数据,而对于新的,我们可以使用另一个,例如 /opt

答案1

/proc目录最初用于公开以下方面的内部信息:进程esses(因此得名)。在大多数现代类 Unix 系统(包括 Linux)上,挂载在此挂载点上的文件系统是虚拟文件系统. 在 Linux 和其他几个类 Unix 系统中,这个虚拟文件系统被称为procfs

由于procfs已经存在,并且已经能够向用户公开内部内核信息,随着时间的推移,它被用来公开各种其他与进程无关的信息。例如,网络信息、有关硬件和 CPU 的信息、有关块设备的信息等等。

此外,没有关于如何向用户公开这些信息的标准。一些开发人员将所有信息放在一个文件中,一些开发人员将每条信息放在一个单独的文件中。等等。

Linux 内核开发人员认为这太乱了。因此,他们创建了sysfs,它安装在/syssysfs像 一样procfs,将内核的内部信息暴露给用户。但是,对于sysfs,开发人员对如何暴露这些信息制定了一套严格的规则。事实上,在许多情况下,开发人员只是向内核注册他们的信息,内核本身控制如何暴露这些信息。这保证了来自不同开发人员和内核不同部分的信息以类似的方式暴露。

总结一下:

  • /proc最初的目的是揭露有关流程的内部信息,但随着时间的推移,它变成了揭露任何来自内核的内部信息。
  • /sys旨在以标准化、结构化的方式公开这些信息。

然而,出于向后兼容性的原因,以前在 中显示的所有信息/proc仍必须存在,直到永远。新信息应/sys以结构化的方式显示在 中,并遵循 的规则sysfs

相关内容