Linux sysfs文件系统简介(新手必看)
在 procfs 相当蛮干的地方,/sys 文件系统(sysfs)是一种特定于 Linux 的结构化方法,用于内核使用标准化布局公开选择信息(例如关于设备的信息)。
下面是 sysfs 中的目录:
在 sysfs 中有更多的子目录,但有些是新的,并且或将受益于更好的文档。你会发现某些在 sysfs 中重复的信息也可以在 procfs 中使用,但是其他信息(比如内存信息)只能在 procfs 中使用。
让我们来看看 sysfs 的运行:
下面是 sysfs 中的目录:
目录 | 描述 |
---|---|
block/ | 此目录符号链接到已发现的块设备。 |
bus/ | 在这个目录中,你可以为内核支持的每种物理总线类型找到一个子目录。 |
class/ | 此目录包含设备类。 |
dev/ | 该目录包含两个子目录:block/(用于系统中的块设备)和char/(用于系统中的字符设备),以 major-ID:minor-ID 为结构。 |
devices/ | 在这个目录中,内核提供了一个设备树的表示。 |
firmware/ | 通过这些目录,你可以管理特定于固件的属性。 |
fs/ | 此目录包含一些文件系统的子目录。 |
module/ | 在这些目录中,你可以找到内核中加载的每个模块的子目录。 |
在 sysfs 中有更多的子目录,但有些是新的,并且或将受益于更好的文档。你会发现某些在 sysfs 中重复的信息也可以在 procfs 中使用,但是其他信息(比如内存信息)只能在 procfs 中使用。
让我们来看看 sysfs 的运行:
$ ls -al /sys/block/sda/ | head -7 ① total 0 drwxr-xr-x 11 root root 0 Sep 7 11:49 . drwxr-xr-x 3 root root 0 Sep 7 11:49 .. -r--r--r-- 1 root root 4096 Sep 8 16:22 alignment_offset lrwxrwxrwx 1 root root 0 Sep 7 11:51 bdi -> ../../../virtual/bdi/8:0 ② -r--r--r-- 1 root root 4096 Sep 8 16:22 capability ③ -r--r--r-- 1 root root 4096 Sep 7 11:49 dev ④
- ❶ 列出关于块设备 sda 的信息,只显示前 7 行;
- ❷ 使用 MAJOR:MINOR 格式的 backing_dev_info 链接;
- ❸ 捕获设备功能,例如它是否可移动;
- ❹ 包含设备主要和次要编号(8:0),请参见块设备驱动程序参考了解这些数字的含义。