简述
sys文件系统提供了一个从用户空间通往内核空间的入口,Linux系统中有个sysfs伪文件系统挂载到/sys目录,通过访问这个目录下面的文件,可以获得各种的系统内核信息,例如设备、内核模块、文件系统等。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。该文件系统是内核设备树的一个直观反映。
1 sys/
在命令行输入“ ls ”查看到sys/目录,如下:
1.1 block/
该目录在2.6.26 内核之后的版本中已经被/sys/class/block取代,为了兼容之前的版本就一直保留着;现在该目录下都是链接文件。
1.2 class/
设备按照不同类型放在该目录下。
1.3 bus/
系统中的所有设备按照连接不同的总线归类。
1.4 dev/
有两个子目录,分别为block和char,分别代表系统中的块设备(例如:磁盘)和字节设备(例如:usb)。在这两个子目录中,是指向/sys/devices中的设备目录的符号链接。
1.5 devices/
系统中的所有设备信息都会放在devices中,/sys/class和/sys/bus中的设备都是指向/sys/devices中的子目录的符号链接。
1.6 fs/
fs目录下存放的是不同的文件系统。
总结
sys/目录下罗列了设备、驱动、硬件的信息,在Linux 设备模型理解中尤为重要。