Linux的dev/ 和 sys/ 和 proc/ 目录

sys和proc文件系统 sysfs是非持久性虚拟文件系统,它提供系统的全局视图,并通过它们的kobject显示内核对象的层次结构(拓扑),每个kobject显示为目录和目录中的文件,目录代表相关kobject导出来的内核变量。这些文件称为属性,可以读取或写入。如果任何已注册的kobject在sysfs中创建目录,则目录的创建位置取决于kobject的父项(它也是object)。这些目录自然创建为kobject父项的子目录。这向用户空间显示了内部对象的层次结构。sysfs中的顶级目录表示对象层次结构的共同祖先,即对象所属的子系统。 阅读详情

linux精神:
一切设备皆文件。
设备被抽象成文件

1、 /dev :

该目录放的设备文件,是应用程序和内核的交互文件,应用程序对这些文件的读写控制可以直接访问到实际的设备
应用程序通过mknod创建的文件,如果底层驱动对mknod的设备号有对应的驱动,那么应用程序读写节点时就会调用到底层驱动
一些较复杂的设备通常使用设备节点dev的方式

2、 /sys :

是个文件系统,sysfs的挂载点,sysfs是一个虚拟文件系统(还有其他的vfs,如usbfs、procfs),内核设备驱动中有调用kobj_add函数的,就会在sys下对应目录创建相应的文件
它作用是将内核注册的device、device_driver、bus通过链表组成一个树形结构,表示内核有哪些驱动和设备,以及所属总线,便于管理,应用层也可以通过读写sys下的文件的内核交互(ktype)
一般简单点的设备会用sysfs方式操控

3、 /sys/devices :

实际存放device和driver的,按照设备挂接的总线类型,组织成层次结构,保存了系统所有的设备
devices中所有设备都是连接于某种总线之下,每一种总线之下可以找到具体设备的符号链接

4、/sys/dev :

下面有两个子目录,block和char,存放的是块设备和字符设备的主次号,格式为: major:minor,但都是链接,指向sys/devices目录下的实际设备

5、ATTR 和 file_operation:

使用DEVICE_ATTR,可以实现驱动在sys目录自动创建文件,我们只需要实现show和store函数即可
应用层可以通过cat和echo命令来对sys创建出来的文件进行读写设备属性文件,实现交互
file_operation是字符设备驱动实现的零一用方式: 用户进程,在对设备文件进行read、write等操作时,系统调用通过设备文件的主设备号找到相应的设备驱动程序,然后读取这个数据结构相应的函数指针,接着把控制权交给该函数,这是linux的设备驱动程序工作的基本原理

6、sysfs和 /dev 的关系:

sysfs最主要用来描绘kernel2.6中的设备驱动模型,用户态的后台程序(mdev、udev)会动态周期性的扫描 /sys 目录中的属性项来自动管理设备文件(设备节点),从而在 /dev 目录会建立或者删除对应的设备文件

7、总结:

/dev 目录存放的是应用与内核交互的设备文件,而/sys/dev目录存放的是系统的所有设备,这些设备由文件系统管理
应用层操控底层两种方式:
1、/dev 目录下的设备文件(设备节点) :复杂点的设备, LCD,摄像头等
2、/sys 目录下设备的属性文件 :简单点的设备, led、gpio等

8、/proc :

正在运行的内核信息映射,主要输出信息为:进程信息,内存资源信息,磁盘分区信息等

/proc下文件基本都是只读的,除了/proc/sys目录,它是可写的(查看和修改内核的运行参数)
/proc下数字命令的目录就是对于PID的进程目录
/proc/cmdline 启动时传递给kernel的参数信息(就是bootargs信息)
/proc/cpuinfo cpu的信息
/proc/crypto 内核使用的所有已安装的加密密码及细节
/proc/devices 已经加载的设备并分类
/proc/dma 已注册使用的ISA DMA频道列表
/proc/execdomains Linux 内核当前支持的execution domains
/proc/fb 帧缓冲设备列表,包括数量和控制它的驱动
/proc/filesystems 内核当前支持的文件系统类型
/proc/interrupts x86架构中的每个IRQ中断数
/proc/iomem 每个物理设备当前在系统内存中的映射
/proc/ioports 一个设备的输入输出所使用的注册端口范围
/proc/kcore 代表系统的物理内存,存储为核心文件格式,里边显示的是字节数,等于RAM大小加上4kb
/proc/kmsg 记录内核生成的信息,可以通过/sbin/klogd或/bin/dmesg来处理
/proc/loadavg 根据过去一段时间内CPU和IO的状态得出的负载状态,与uptime命令有关
/proc/locks 内核锁住的文件列表
/proc/mdstat 多硬盘,RAID配置信息(md=multiple disks)
/proc/meminfo RAM使用的相关信息
/proc/misc 其他的主要设备(设备号为10)上注册的驱动
/proc/modules 所有加载到内核的模块列表
/proc/mounts 系统中使用的所有挂载
/proc/partitions 分区中的块分配信息
/proc/pci 系统中的PCI设备列表
/proc/slabinfo 系统中所有活动的 slab 缓存信息
/proc/stat 所有的CPU活动信息
/proc/uptime 系统已经运行了多久
/proc/swaps 交换空间的使用情况
/proc/version Linux内核版本和gcc版本
/proc/bus 系统总线(Bus)信息,例如pci/usb等
/proc/driver 驱动信息
/proc/fs 文件系统信息
/proc/ide ide设备信息
/proc/irq 中断请求设备信息
/proc/net 网卡设备信息
/proc/scsi scsi设备信息
/proc/tty tty设备信息
/proc/net/dev 显示网络适配器及统计信息
/proc/vmstat 虚拟内存统计信息
/proc/vmcore 内核panic时的内存映像
/proc/diskstats 取得磁盘信息
/proc/schedstat kernel调度器的统计信息
/proc/zoneinfo 显示内存空间的统计信息,对分析虚拟内存行为很有用

以下是/proc目录中进程N的信息
/proc/N/cmdline 进程启动命令
/proc/N/cwd 链接到进程当前工作目录
/proc/N/environ 进程环境变量列表
/proc/N/exe 链接到进程的执行命令文件
/proc/N/fd 包含进程相关的所有的文件描述符 (ls /proc//fd | wc -l 查看某个进程打开多少FD)
/proc/N/maps 与进程相关的内存映射信息
/proc/N/mem 指代进程持有的内存,不可读
/proc/N/root 链接到进程的根目录
/proc/N/stat 进程的状态
/proc/N/statm 进程使用的内存的状态
/proc/N/status 进程状态信息,比stat/statm更具可读性
/proc/self 链接到当前正在运行的进程

3GPP协议解读_物理层系列(一)_物理层协议怎么看? 5G NR相关协议一般都在38系列,点进去以后可以看到,38.2xx系列为物理层相关协议,为了掌握物理层相关知识,应该怎么看协议呢?我建议从38.201读起,对38.2xx系列协议有一个整体的把握。 阅读详情

相关推荐

STM32C8T6HAL库实战:MAX30102心率血氧检测与OLED多级菜单一体化方案

本文详细介绍了基于STM32C8T6和HAL库的MAX30102心率血氧检测与OLED多级菜单一体化方案。内容涵盖硬件连接、CubeMX工程配置、传感器驱动移植、数据滤波算法、OLED显示驱动以及高效的多级菜单系统设计,旨在提供一个稳定、实用且易于移植的嵌入式健康监测项目参考。

weixin_29256771的博客 397

Linux /dev目录详解和Linux系统各个目录的作用

arp转储每个网络接口的arp表中dev包的统计dev来自网络设备的统计dev_mcast列出二层(数据链路层)多播组igmp加入的IGMP多播组netlinknetlink套接口的信息netstat网络流量的多种统计。第一行是信息头,带有每个变量的名称。接下来的一行保存相应变量的值raw原始套接口的套接口表route静态路由表rpc包含RPC信息的目录rt_cache路由缓冲snmp。

咖喱年糕的博客 6380

大模型训练显存瘦身全记录:从ZeRO-3参数分区到CPU Offload的硬件协奏曲

本文详细解析了如何通过ZeRO-3参数分区与CPU/NVMe卸载技术优化大模型训练的显存使用。结合bf16混合精度与梯度累积等策略,实现在消费级GPU上高效训练百亿参数模型,显著提升硬件利用率与训练效率。

weixin_29051245的博客 435

linux 下 /dev和/sys/dev的区别

https://blog.youkuaiyun.com/u010164190/article/details/51850150?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_title~default-0.pc_relevant_aa&spm=1001.2101.3001.4242.1&utm_relevant_index=3 https://blog.youkuaiyun.com/weixin_38812277/article/d

jiuguaqiao6494的博客 515

Akamai-3.0补环境逆向-DHL快递查询

那么我们的请求过程就是:1.请求首页的html文件,通过re或xpath,提取到这个url,拼接官网地址,得到这个js文件的地址。返回的_abck为0,表示环境正确,请求搜索接口返回200,说明返回的_abck正确,如果过程错误或环境补的有问题会返回403或428这两个状态码。那么,就是这个包返回的,而且这个包需要请求两次,第一次get请求,返回的这个-1的cookie,第二次请求,带上一个sensor_data的参数,进行post请求,最终返回这个0的cookie,代表你过了akamai这个盾。

2302_76420666的博客 2857

基石篇:多模态数据工程导论与核心概念

多模态数据工程不是写Python脚本处理几张图片,而是设计并构建一套系统,来规模化地生产高质量、可追溯、符合合规要求的模型就绪数据。本文将为你建立正确的数据工程思维框架,明确其在多模态AI生态中的战略地位,并为后续的深入学习奠定坚实基础。

jiaquan3011的博客 628

linux /sys /dev 的理解

参考文章 https://blog.youkuaiyun.com/zuodenghuakai/article/details/92668565 https://blog.youkuaiyun.com/GCE7212201/article/details/53339699?utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&depth_1-ut

raoxu1154492168的博客 443

OpenCV计算机视觉实战(12)——图像金字塔与特征缩放

图像金字塔技术通过对原始图像按不同分辨率进行多层次表示,不仅能提升计算效率,还能为图像融合、检测与识别提供多尺度特征。高斯金字塔 (Gaussian Pyramid) 用于构建多级低通图像,拉普拉斯金字塔 (Laplacian Pyramid) 则提取各层之间的细节信息。本节将深入介绍如何使用 OpenCV 构建高斯与拉普拉斯金字塔,并以经典的图像融合案例,展示图像金字塔在特征缩放与融合中的强大应用。

qq_30167691的博客 1404

在Linux系统中,/dev和/sys/dev目录分别存放的是不同类型的设备文件。以及关于Linux目录说明

这些设备文件是由应用层通过mknod函数创建的,如果底层驱动对mknod的设备号有对应的驱动,那么应用程序在open "/dev/**"时,就会调用到底层的驱动。这个目录存放的是系统的所有设备,按照设备挂载的总线类型,组织成层次结构,保存了系统所有的设备。总的来说,/dev目录存放的是应用程序与内核交互的设备文件,而/sys/dev目录存放的是系统的所有设备,这些设备由文件系统进行管理。在Linux系统中,/dev和/sys/dev目录分别存放的是不同类型的设备文件。

weixin_41199566的博客 1632

【STM32系统及仿真】基于STM32+蓝牙设计的智能窗帘系统__资料编号8

本项目设计并实现了一种基于STM32单片机的智能窗帘系统,集成了光敏传感器、温湿度传感器、蓝牙模块和OLED显示屏,实现了窗帘的自动调节、环境监测和远程控制功能。系统采用STM32F103C8T6作为主控制器,通过光敏传感器检测环境光强,温湿度传感器监测室内环境,蓝牙模块实现与手机APP的通信,用户可以通过APP远程控制窗帘的开合状态。系统在检测到环境光照强度或温度超出设定范围时,可自动调节窗帘的开合,以达到节能和提高舒适度的目的。

嵌入式阿齐Archie 2万+

tsmc12:via0的spacing问题(Via0.S.1)

12nm有个via0 grid的概念,除了普通fill外,基本都有via0这一层,这一层需要与via0 grid对齐。手动调整cell的位置比较容易出这个drc,比如修m0po max length drc时。解决方法1: 替换EEQV类型cell,这种类型是专门为了修via0 Grid问题存在的。更多学习内容请关注「拾陆楼」知识星球。解决方法2: 翻转或移动。

m0_61544122的博客 1115

Linux下/dev和/sys/class初探

/dev 下的文件是真实的设备,UDEV在运行时创建。 /sys/class 是由kernel在运行时导出的,目的是通过文件系统暴露出硬件的层级关系。

weixin_43379278的博客 6007

安装WSL过程中出现注册表编辑器无法重命名WSL。重命名项时出现错误的解决方案

本文主要介绍了安装WSL过程中出现注册表编辑器无法重命名WSL。重命名项时出现错误的解决方案,希望能对使用Windows WSL的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 9万+

/proc /dev /sys 目录的用途

甲: /proc目录: 对module 的管理: $cat /proc/devices 乙: /dev 目录 创建设备节点命令 mknod 丙: /sys 目录 1. /sys/dev 2. /sys/devices 3. /sys/module 4. /sys/class

hjjdebug的专栏 1003

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Linux架构和目录-基础篇

1.Linux目录结构2. /boot/存放系统内核文件,如vmlinuz,initrd,System.map等。其中,a. vmlinuz是可引导的、压缩的内核,“vm”即“Virtual Memory”;b. initrd 的英文含义是 boot loader initialized RAM disk,就是由 boot loader 初始化的内存盘。在linux内核启动前,

runningya的专栏 4699

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

linux内存userd比较大,linux各目录及重要目录的详细介绍

1 目录说明根目录 (/)/binbin是Binary的缩写, 这个目录存放着最经常使用的命令,比如ls,cat,mkdir等/devdev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的/home存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示/mnt系统...

weixin_30810127的博客 783

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

/dev、/sys/devices 和 /sys/dev

/dev :设备文件节点,也就是设备的抽象,用来和设备传输数据和通信。【进程使用】 /sys/devices :存放系统的所有设备,按照设备挂载的总线类型,组织成层次结构,保存了系统所有的设备;是文件系统管理设备的重要目录;是Linux统一设备模型的一部分。【文件系统管理设备】 /sys/dev :字符设备和块设备的的主次设备号,是一个符号链接,指向/sys/devices中的实际设备。 ...

weixin_38812277的博客 1816

proc、sys 路径的重要文件/目录

目录 proc sys /proc/sys/vm/ proc 系统会在proc下生成很多信息,可以直接用cat命令显示其信息。 路径 含义 /proc/mtd mtd分区表 /proc/partitions 分区信息 /proc/fi...

IT利刃出鞘的博客 984

linux目录空间内存,Linux 目录结构:内存文件夹

内存目录包含的文件涉及到整个系统。所有设备信息、进程运行时的数据或者跟系统有关的信息都存储在此。内存目录包含以下目录。/dev/proc/sys/devdev 是 device 的缩写。你应该了解过,在 Linux 操作系统中,所有内容都是由文件组成的。所以,dev 也是一个普通的文件,但它不占用磁盘空间。一般来说,用于表示和访问设备的文件都存储在此,包括 USB 等终端设备。存储在「 /dev ...

weixin_42532067的博客 911

Linux 系统目录结构

登录系统后,在当前命令窗口下输入命令: ls / 你会看到如下图所示: 树状目录结构: 以下是对这些目录的解释: /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev :dev是Device(设备)的缩写, 该...

126

linux下 /proc /sys目录的区别(sysfs、procfs都是虚拟文件系统)、rootfs

/sys/devices 下是所有设备的真实对象,包括如视频卡和以太网卡等真实的设备.可以看到真正运行了哪些设备, 从而可以推断出用到哪些驱动文件, 例如:/sys/devices/1000000.pinctrl/gpio 该设备下创建的真实可用的GPIO,没有创建的不会显示 /sys/class/gpio中也是真实可用的GPIO 调试GPIO的时候可以进入到/sys/class/gpio路径,单独操作单个GPIO拉高拉低,然后外部量 /proc/device-tree 下对应的是设备树文件,设备树中

雷子的博客 3011

【文件系统】linux系统常见目录及文件总结

1.根目录下的文件 “/”根目录部分有以下子目录: /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape。 /var 目录包含在正常操作中被改变的文件:假脱机文件、记录文件、加锁文件、临时文件和页格式化文件等。 /home 目录包含用户的文件:参数设置文件、个性化文件、文档、数据、EMAIL、缓存数据等。这个目录在系统省级时应该保留。 /proc 目录整个包含虚幻的文件

Edidaughter的博客 1248

网络安全快速入门(十二) linux的目录结构

我们前面已经了解了基础命令,今天我们来讲讲linux中的目录结构,我们在了解linux的目录结构之前,我们先与Windows做一个对比。

ch225的博客 654

linux的文件目录结构

Linux文件目录结  /  根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。  /bin  bin就是二进制(binary)英文缩写。在一般的系统当中,你都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;功能和/usr/bin类似,这个目录中的文件都是可执行的、普通用户都可以使用的命令。

nylic的博客 696

【Linux】Linux 系统的目录结构详解

Linux 目录结构解析:从根目录到用户空间 Linux 系统采用树状目录结构,以根目录(/)为起点,所有文件和目录都从属于此层次体系。本文概述了Linux文件系统的核心目录及其功能: 根目录(/): 文件系统的起点,包含所有其他目录 /bin: 存放系统基本命令(如ls, cp) /sbin: 系统管理工具(需root权限) /lib & /lib64: 分别存储32位和64位共享库 /etc: 系统配置文件集中地(如passwd, hosts) /home: 用户主目录,每个用户拥有独立子目录

千淘万漉虽辛苦,吹尽狂沙始到金 2万+
上一篇: 充电学习— 9、Typec Pd
下一篇: USB学习——12、usb初始化和插拔驱动软件流程大致框架描述
wmail-yh
博客等级 码龄8年 315粉丝 65原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值