/proc/devices awk
来源:互联网 发布:非理性繁荣 知乎 编辑:程序博客网 时间:2024/06/06 14:57
/proc/devices/中的设备是通过insmod加载到内核的,它可产生一个major供mknod作为 参数。
每一条记录有两个部分组成:major和驱动名称$2表示输入给awk的第二个参数,同理$1表示第一个参数,特殊的$0表示整条记录这样print 就将$1打印到了major中。测试一下目的实现了,上述命令可以直接写到脚本里,先加一个判断/dev/dev_i2c点文件是否存在,不存在就创建
/dev/* 是通过mknod加上去的,格式:mknod device1 c/b major minor 如:mknod /dev/ttyS0 c 4 64,用户通过此设备名来访问你的驱动。
那如何在shell中自动创建设备节点呢
使用linux的awk命令
首先我们查看一下/proc/devices的格式
- # cat /proc/devices
- Character devices:
- 1 mem
- 4 /dev/vc/0
- 4 tty
- 4 ttyS
- 5 /dev/tty
- 5 /dev/console
- 5 /dev/ptmx
- 7 vcs
- 10 misc
- 13 input
- 14 sound
- 21 sg
- 81 video4linux
- 89 i2c
- 90 mtd
- 116 alsa
- 128 ptm
- 136 pts
- 247 dm365mmap
- 248 irqk
- 249 edma
- 250 cmem
- 251 dev_dma
- 252 dev_i2c
- 253 csl
- 254 rtc
- Block devices:
- 1 ramdisk
- 8 sd
- 31 mtdblock
- 65 sd
- 66 sd
- 67 sd
- 68 sd
- 69 sd
- 70 sd
- 71 sd
- 128 sd
- 129 sd
- 130 sd
- 131 sd
- 132 sd
- 133 sd
- 134 sd
- 135 sd
- 254 mmc
所以awk可这样提取所要的信息
- #awk '$2=="dev_i2c" { print $1}' /proc/devices
意思是如果驱动名称等于"dev_i2c",就打印他的major
执行上述命令后,输出:
252
那怎样使用输出的信息呢,只哟将它复制给一个变量就好了
- #major=$(awk '$2=="dev_i2c" { print $1}' /proc/devices)
- #echo $(major)
- 252
- insmod ./drv.ko
- if [ ! -f /dev/dev_i2c ]
- then
- major=$(awk '$2=="dev_i2c" {print $1}' /proc/devices)
- mknod /dev/dev_i2c c ${major} 0
- fi
0 0
- /proc/devices awk
- /proc/devices awk
- /proc/devices awk
- /proc/devices
- /proc/modules, /proc/devices, /dev
- /proc/modules, /proc/devices, /dev
- /proc/modules, /proc/devices, /dev
- LDD中 major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)正确理解。
- major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)正确理解。
- major=$(awk "\\$2= =\"$module\" {print \\$1}" /proc/devices)正确理解。
- linux /proc/devices & /dev
- linux /proc/devices & /dev
- /proc/modules, /sys/module, /proc/devices, /dev
- /proc/devices 与 /dev 区别
- /proc/devices和/dev的关系
- 在/proc/devices中只能看见一个,请问是什么原因
- 解决/proc/bus/usb/目录下没有devices文件问题
- 字符设备驱动之/proc/devices和/dev的关系
- python中的 range() 函数参数解释应用
- 伸展树+二分hdu3436(多校联合)
- CI---扩展核心类controller, 实现登录控制
- c#_webbrowser等待网页标题下载完成并显示在textBox里
- UVAOJ401- Palindromes
- /proc/devices awk
- nfs搭建(portmap新版下改名rpcbind)
- sed中使用变量替换以及执行外部命令
- Android学习之 Intent几种使用方法使用
- 十二星座各自的性格分析,各种最
- Android中Context
- Zend_XmlRpc 使用实例(轻松实现对外接口)
- Windows以及Linux下用OCCI访问Oracle数据库
- spring3.0事务管理配置