udev
一、将u盘插入
Device Boot Start End Blocks Id System
/dev/sdc1 1 984 7903948+ b W95 FAT32
看到u盘是sdc1
查看块设备:
[root@server03 rules.d]# ls /sys/block
loop0 loop3 loop6 ram1 ram12 ram15 ram4 ram7 sda sr0
loop1 loop4 loop7 ram10 ram13 ram2 ram5 ram8 sdb sr1
loop2 loop5 ram0 ram11 ram14 ram3 ram6 ram9 sdc
查看u盘信息:
[root@server03 rules.d]# udevadm info -q path -n /dev/sdc1
/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1/1-1:1.0/host35/target35:0:0/35:0:0:0/block/sdc/sdc1
[root@server03 rules.d]# udevadm info -a -p $(udevadm info -q path -n /dev/sdc1)
得到u盘信息
[root@server03 squirrelmail]# cd /etc/udev/rules.d/
[root@server03 rules.d]# ls
60-fprint-autosuspend.rules 90-hal.rules
60-pcmcia.rules 97-bluetooth-serial.rules
60-raw.rules 98-kexec.rules
70-persistent-cd.rules 99-fuse.rules
70-persistent-net.rules 99-vmware-scsi-udev.rules
90-alsa.rules
可以看到很多规则
udev的规则,用户自定义的规则一般放在/etc/udev/rules.d目录下,里面有很多规则都是以数字开头的,数字越小就表示规则越优先。
[root@server03 rules.d]# cp 99-vmware-scsi-udev.rules 10-usb.rules
[root@server03 rules.d]# vim 10-usb.rules
ATTRS{vendor}=="hp ",RUN+="/usr/bin/wall 'im comming'"
一般我们要使这个规则文件生效,要热插拔我们的设备以产生一个事件或在设备中的 event 文件中增加信息以达到发送事件的目的来更新我们的 udev 规则,但这里有个更加方便的方法,我们可以运行下面这个命令。
udevadm control --reload-rules
当u盘插入会在terminal里打印 im comming
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY