之后mount
列出了一些文件系统。我需要知道/dev
、/proc
和中有什么/sys
。一些例子会很棒!
答案1
该/dev
树包含设备节点, 这使用户空间访问设备驱动程序在操作系统运行的内核中。所有 POSIX 类型的操作系统都有一/dev
棵树。
该/proc
树起源于 System V Unix,它仅使用一种/proc/$PID/stuff
方案提供有关每个正在运行的进程的信息。Linux 极大地扩展了这一点,添加有关正在运行的内核状态的各种信息。除了这些只读信息文件之外,Linux/proc
还具有可写虚拟文件,可以更改正在运行的内核的状态。 BSD 类型的操作系统通常根本没有/proc
,因此您在此处找到的大部分内容都是不可移植的。
Linux 中这种混乱的预期解决方案/proc
是/sys
。理想情况下,所有塞入树中的非流程信息现在都/proc
应该转移到.通常有两种方法可以对正在运行的内核进行更改:旧方法(为了向后兼容而保留)和新方法(您可以使用新方法)。/sys
/proc
/proc
/sys
应该现在正在使用。²
脚注:
还有一些
/dev
与硬件设备不对应的条目,例如/dev/null
、/dev/random
、 和/dev/tty
。这些是虚拟设备,允许用户空间程序以类似设备的方式与运行的驱动程序之外的内核其他部分进行通信。一般来说,
/sys
往往比 更严格地组织/proc
,因为/sys
反映了管理系统资源的内部内核数据结构,而/proc
多年来有机增长,并且旧的有问题的设计决策现在无法改变,因为有程序使用这些旧接口。/sys
一开始就采用了更清晰的设计,并且不必像/proc
.