当前位置:网站首页>sys文件系统
sys文件系统
2022-08-03 18:10:00 【天糊土】
以下内容源于网络资源的学习与整理,如有侵权请告知删除。
前言
Linux2.6版本的内核引入了sys文件系统。
在 proc文件系统介绍和使用 中,介绍了sys文件系统与proc文件系统的差异。它们都是虚拟文件系统,都是内核中的数据结构的可视化接口。它们分别挂载在/sys目录、/proc目录下。
与proc文件系统类似,通过sys文件系统可以查看系统相关的信息。
sys文件系统中与设备驱动相关的文件节点,可视为 /dev 文件系统的替代者。
sys文件系统的主要作用,是对系统上的设备与总线进行组织与管理,以形成分级的文件。用户空间可以访问或配置这些文件,进而得知系统状态或者控制系统。
目录含义
下面简述/sys目录中的目录所代表的含义。
[email protected]:/sys# tree -L 1 . ├── block ├── bus ├── class ├── dev ├── devices ├── firmware ├── fs ├── hypervisor ├── kernel ├── module └── power 11 directories, 0 files [email protected]:/sys# ls1、class目录
将设备按照功能分类。
如/sys/class/net包括了所有网络接口。
其中 power_supply 可以查看充电相关的信息。
[email protected]:/sys/class# ls ata_device dma i2c-adapter powercap scsi_device tty ata_link dmi input power_supply scsi_disk vc ata_port drm leds ppdev scsi_generic virtio-ports backlight extcon mdio_bus ppp scsi_host vtconsole bdi firmware mem printer sound watchdog block gpio misc pwm spi_host bluetooth graphics mmc_host regulator spi_master bsg hidraw net rfkill spi_transport devfreq hwmon pci_bus rtc thermal [email protected]:/sys/class# cd net [email protected]:/sys/class/net# ls eth0 lo [email protected]:/sys/class/net# ls -l 总用量 0 lrwxrwxrwx 1 root root 0 Jul 4 20:50 eth0 -> ../../devices/pci0000:00/0000:00:11.0/0000:02:01.0/net/eth0 lrwxrwxrwx 1 root root 0 Aug 2 00:03 lo -> ../../devices/virtual/net/lo [email protected]:/sys/class/net# cd eth0 [email protected]:/sys/class/net/eth0# ls addr_assign_type device ifalias netdev_group speed uevent address dev_id ifindex operstate statistics addr_len dormant iflink phys_port_id subsystem broadcast duplex link_mode power tx_queue_len carrier flags mtu queues type [email protected]:/sys/class/net/eth0#2、block目录
每个块设备在该目录下对应一个子目录。
每个子目录中又包含一些属性文件,它们描述了这个块设备的各方面的属性,比如设备大小。另外,loop块设备是使用文件来模拟的。
通过查看该目录下的详细信息,得知它们都是链接文件,指向/sys/devices/下的设备。
[email protected]:/sys/block# ls loop0 loop3 loop6 ram1 ram12 ram15 ram4 ram7 sda loop1 loop4 loop7 ram10 ram13 ram2 ram5 ram8 sr0 loop2 loop5 ram0 ram11 ram14 ram3 ram6 ram9 sr1 [email protected]:/sys/block# cd sr0 [email protected]:/sys/block/sr0# ls alignment_offset discard_alignment holders removable subsystem bdi events inflight ro trace capability events_async power size uevent dev events_poll_msecs queue slaves device ext_range range stat [email protected]:/sys/block/sr0# cat size 2097151 [email protected]:/sys/block/sr0# cd .. [email protected]:/sys/block# ls -l sda lrwxrwxrwx 1 root root 0 Jul 4 20:50 sda -> ../devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/block/sda [email protected]:/sys/block# ls -l sr0 lrwxrwxrwx 1 root root 0 Aug 2 00:03 sr0 -> ../devices/pci0000:00/0000:00:11.0/0000:02:05.0/ata3/host2/target2:0:0/2:0:0:0/block/sr0 [email protected]:/sys/block# ls -l sr1 lrwxrwxrwx 1 root root 0 Aug 2 00:03 sr1 -> ../devices/pci0000:00/0000:00:11.0/0000:02:05.0/ata4/host3/target3:0:0/3:0:0:0/block/sr1 [email protected]:/sys/block# ls -l ram1 lrwxrwxrwx 1 root root 0 Aug 2 00:03 ram1 -> ../devices/virtual/block/ram1 [email protected]:/sys/block# ls -l loop1 lrwxrwxrwx 1 root root 0 Aug 2 00:03 loop1 -> ../devices/virtual/block/loop1 [email protected]:/sys/block#3、bus目录
在内核注册的每条总线,在该目录下对应一个子目录,比如i2c、spi、pci、scsi、usb等等。
其中每个总线目录又包含两个子目录devices和drivers。devices目录包含了在整个系统中发现的、属于该总线类型的设备。drivers目录包含了注册到该总线的所有驱动。
[email protected]:/sys/bus# ls ac97 cpu hid mdio_bus platform sdio virtio acpi eisa i2c mmc pnp serio workqueue clockevents event_source isa pci rapidio spi xen clocksource gameport machinecheck pci_express scsi usb xen-backend [email protected]:/sys/bus# cd cpu [email protected]:/sys/bus/cpu# ls devices drivers drivers_autoprobe drivers_probe uevent [email protected]:/sys/bus/cpu# cd devices/ [email protected]:/sys/bus/cpu/devices# ls cpu0 cpu1 [email protected]:/sys/bus/cpu/devices# cd cpu0 [email protected]:/sys/bus/cpu/devices/cpu0# ls cache crash_notes_size firmware_node power topology crash_notes driver microcode subsystem uevent [email protected]:/sys/bus/cpu/devices/cpu0# cd ../../drivers [email protected]:/sys/bus/cpu/drivers# ls processor [email protected]:/sys/bus/cpu/drivers# cd processor/ [email protected]:/sys/bus/cpu/drivers/processor# ls bind cpu0 cpu1 uevent unbind [email protected]:/sys/bus/cpu/drivers/processor#4、devices目录
包含系统的所有设备。(它和/sys/dev目录有啥区别呢?)
[email protected]:/sys# ls block bus class dev devices firmware fs hypervisor kernel module power [email protected]:/sys# cd dev [email protected]:/sys/dev# l block/ char/ [email protected]:/sys/dev# cd char/ [email protected]:/sys/dev/char# ls //下面的都是一些链接,指向/sys/devices相关设备 10:1 10:60 13:32 189:140 4:10 4:24 4:38 4:51 4:65 4:79 4:92 10:175 10:61 13:33 1:9 4:11 4:25 4:39 4:52 4:66 4:8 4:93 //省略部分 [email protected]:/sys/dev/char# cd ../../devices/ [email protected]:/sys/devices# ls breakpoint isa pci0000:00 pnp0 rapidio system virtual cpu LNXSYSTM:00 platform pnp1 software tracepoint [email protected]:/sys/devices# cd pci0000\:00/ [email protected]:/sys/devices/pci0000:00# ls 0000:00:00.0 0000:00:15.0 0000:00:16.1 0000:00:17.2 0000:00:18.3 0000:00:01.0 0000:00:15.1 0000:00:16.2 0000:00:17.3 0000:00:18.4 0000:00:07.0 0000:00:15.2 0000:00:16.3 0000:00:17.4 0000:00:18.5 0000:00:07.1 0000:00:15.3 0000:00:16.4 0000:00:17.5 0000:00:18.6 0000:00:07.3 0000:00:15.4 0000:00:16.5 0000:00:17.6 0000:00:18.7 0000:00:07.7 0000:00:15.5 0000:00:16.6 0000:00:17.7 firmware_node 0000:00:0f.0 0000:00:15.6 0000:00:16.7 0000:00:18.0 pci_bus 0000:00:10.0 0000:00:15.7 0000:00:17.0 0000:00:18.1 power 0000:00:11.0 0000:00:16.0 0000:00:17.1 0000:00:18.2 uevent [email protected]:/sys/devices/pci0000:00# cd ../cpu [email protected]:/sys/devices/cpu# ls events format perf_event_mux_interval_ms power rdpmc subsystem type uevent [email protected]:/sys/devices/cpu#5、fs目录
描述系统中的文件系统。
6、filewire目录
描述系统中的固件。
7、power目录
描述系统中的电源选项。
8、module目录
描述系统中的模块信息。
9、kernel目录
内核中的配置参数。
边栏推荐
- LyScript 内存交换与差异对比
- 87.(cesium之家)cesium热力图(贴地形)
- 87. (Home of cesium) cesium heat map (topography)
- 什么是鉴权?一篇文章带你了解postman的多种方式
- 5000元价位高性能轻薄本标杆 华硕无双高颜能打
- fatal error: jni.h: No such file or directory
- STM32——LCD—FSMC原理简介
- pydev debugger: warning: trying to add breakpoint to file that does not exist: /tmp/xxx
- CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) A-E
- 使用.NET简单实现一个Redis的高性能克隆版(一)
猜你喜欢
随机推荐
使用range-based for循环的注意事项
“vite”和“vite预览”有什么区别?
warnings.warn(“Title is more than 31 characters. Some applications may not be able to read the file
关于vscode安装包下载太慢解决方法
这是Facebook母公司 关于元宇宙的80万亿美元豪赌
openresty 高可用部署
云GPU如何安装和启动VNC远程桌面服务?
China Hashpower Conference Ascension Kunpeng Ecological Forum was held; Kuaishou established an independent to B business department…
想要防止数据泄漏,如何选择国产浏览器?
【刻意练习观后管】刻意练习
三丁基-巯基膦烷「tBuBrettPhos Pd(allyl)」OTf),1798782-17-8
【技术白皮书】第二章:OCR智能文字识别回顾——自然语言文本发展历程
多线程 里面 使用AtomicInteger类,保证线程安全
走进通信:为什么4G信号满格,却上不了网呢
动态打印菱形
云图说丨初识华为云微服务引擎CSE
基于PHP7.2+MySQL5.7的回收租凭系统
【mysql】SIGN(x) function
PHP基础笔记-NO.1
图像传感第一章学习心得









