sys 文件系统
- /sys/devices (/sys 文件系统最重要的目录结构)该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即 platform devices 和 system devices。platform devices 一般是挂在芯片内部的高速或者低速总线上的各种控制器和外设,它们能被 CPU 直接寻址;system devices 不是外设,而是芯片内部的核心结构,比如 CPU,timer 等,它们一般没有相关的驱动,但是会有一些体系结构相关的代码来配置它们。
- /sys/dev 该目录下有字符设备(block) 和块设备(char) 两个子目录,里面全是以主次设备号(major:minor) 命名的链接文件,链接到 /sys/devices。
- /sys/class (按功能分类设备)该目录下包含所有注册在 kernel 里面的设备类型,每个设备类型表达具有一种功能的设备。每个设备类型子目录下是具体设备的符号链接,这些链接指向/sys/devices/...下的具体设备。设备类型和设备并没有一一对应的关系,一个物理设备可能具备多种设备类型;一个设备类型只表达具有一种功能的设备,比如:系统所有输入设备都会出现在/sys/class/input 之下,而不论它们是以何种总线连接到系统的。(/sys/class 也是构成 linux 统一设备模型的一部分)
- /sys/block (从 linux2.6.26 版本开始已经移到了/sys/class/block) 代表着系统中当前被发现的所有块设备。按照功能来说防止在/sys/class 下会更合适,但由于历史遗留因素而一直存在于/sys/block,但从 linux2.6.22 内核开始这部分就已经标记为过去时,只有打开了 CONFIG_SYSFS_DEPRECATED 配置编译才会有这个目录存在,并且其中的内容在从 linux2.6.26 版本开始已经正式移到了/sys/class/block,旧的接口/sys/block 为了向后兼容而保留存在,但其中的内容已经变为了指向它们在/sys/devices/中真实设备的符号链接文件。
- /sys/bus (按总线类型分类设备)一般来说每个子目录(总线类型) 下包含两个子目录,一个是 devices,另一个是 drivers;其中 devices 下是这个总线类型下的所有设备,这些设备都是符号链接,它们分别指向真正的设备(/sys/devices/...下);而 drivers 下是所有注册在这个总线上的驱动,每个 driver 子目录下 是一些可以观察和修改的 driver 参数。 (它也是构成 linux 统一设备模型的一部分)
- /sys/module 该目录包含所有被载入 Kernel 的模块,无论这些模块是以内联(inlined) 方式编译到内核映像文件中还是编译为外模块(
.ko
文件)。 - /sys/fs 该目录用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。
- /sys/kernel 该目录下存放的是内核中所有可调整的参数。
- /sys/firmware 该目录下包含对固件对象(firmware object) 和属性进行操作和观察的接口,即这里是系统加载固件机制的对用户空间的接口(关于固件有专用于固件加载的一套 API)。
- /sys/power 该目录下有几个属性文件可以用于控制整个机器的电源状态,如向其中写入控制命令让机器关机 / 重启等等。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论