内核中有三个常用的虚拟文件系统:procfs,debugfs和sysfs
sysfs在kernel开发阶段,内核缺少一个通用的信息动态变化的系统,procfs包含的信息不是动态处理的。sysfs由此产生,kernelV2.5版本以上都有sysfs。这个虚拟文件系统包含设备/驱动的信息,同时也包含各种各样的内核数据。sysfs为内核空间和用户空间提供访问的接口。尽管不同的kernel版本之间有一些修改,procfs和sysfs是一个高集成的,标准的文件系统。
proc 文件系统
是一个虚拟文件系统, 它以文件系统的方式为应用层访问系统内核数据提供了接口, 用户和应用程序可以通过 proc 文件系统得到系统信息和进程相关信息,对 proc 文件系统的读写作为与内核进行通信的一种手段。 但是与普通文件不同的是, proc 文件系统是动态创建的,文件本身并不存在于磁盘当中、 只存在于内存当中,与 devfs 一样,都被称为虚拟文件系统。
sysfs 是一个基于内存的文件系统, 同 devfs、 proc 文件系统一样,称为虚拟文件系统; 它的作用是将内核中设备的一些属性、数据以文件的方式导出到应用空间,这些文件称为属性文件,读这些属性文件就表示读取设备的属性信息,相反写属性文件就表示对设备的属性进行设置、以控制设备的状态。
debugfs
是一个用于调试目的,简单的,基于内存的文件系统。kernel的信息可以输出到debugfs中,这样方便user space程序查看和使用。
自动挂载
要使用debugfs,需要在内核编译配置中配置 CONFIG_DEBUG_FS=y选项,并且将其自动挂载到默认的目录 /sys/kernel/debug。
手动挂载
mkdir tmp //新建目录(手动挂载点)
mount -t debugfs debugfs tmp //挂载到tmp/ 目录
----------------------------------------------------------------------------------------------------------------------
2022-5-10 Linux sysfs使用方法随笔_丨可乐猫丨的博客-CSDN博客_sysfs的应用