Linux上用udev自动识别并挂载U盘

2019-07-12 14:55发布

最近想在U盘中放置一个配置文件,当U盘插入时自动读取配置文件。发现插上U盘后,在/dev下产生sda1adb1sdc1等不定设备,需要手动挂载才行。根据网上了解,可以通过udev来实现U盘的自动识别和挂载,操作方法如下:   1. /etc/udev/rules目录下新建11-add-usb.rules11-add-remove.rules,负责设备监测。 root@am335x-evm:/etc/udev/rules.d# vi 11-add-usb.rules ACTION!="add",GOTO="farsight" KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/mountusb.sh %k" KERNEL=="sd[a-z]",RUN+="/opt/usb/mountusb.sh %k" LABEL="farsight" root@am335x-evm:/etc/udev/rules.d# vi 11- remove -usb.rules ACTION !="remove",GOTO="farsight" SUBSYSTEM!="block",GOTO="farsight" KERNEL=="sd[a-z][0-9]",RUN+="/opt/usb/umountusb.sh" LABEL="farsight" 2. /opt/usb下建立执行脚本,负责挂载和卸载。 root@am335x-evm:/opt/usb# vi mountusb.sh #!/bin/sh mount  -t vfat /dev/$1 /mnt/usb sync root@am335x-evm:/opt/usb# vi umountusb.sh #!/bin/sh sync umount /mnt/usb 3. 完成操作,可实现自动挂载。如要读写U盘文件,则可以在执行脚本中添加其他操作即可。 参考文章: http://blog.chinaunix.net/uid-26119896-id-5211736.html (u盘挂载) http://www.cnblogs.com/sopost/archive/2013/01/09/2853200.html (udev简介)