linux下实现自动查找U盘,识别U盘,判断是否已经挂载(如果没有则自动挂载),然后在U盘创建文件,最后卸载U盘。
纯C代码,全部源代码,可以在fedora等桌面linux上使用,也可以在嵌入式linux下使用,测试通过。
基本原理是:
1)打开 /proc/scsi/usb-storage 目录,如果能打开说明有U盘或者移动硬盘接入,否则没有
如果有则获取移动设备的设备号,就是文件名,打开这个文件名从里面可以提前设备的序列号
2)根据设备号,在/sys/class/scsi_device/目录去找,找以该设备号开头的文件夹
这个时候需要遍历这些文件夹了
3)遍历过程:
打开其下的device目录,得到子目录的名字,检测是否有block文件夹,如果没有不是U盘或者移动硬盘
如果有,继续打开block文件夹,得到其下的字母,这个时候应该出现sdx的文件夹
如果有,继续打开sdx文件夹,查找sdxn的文件,如果有这个文件夹名就是所需要的u盘盘符
4)得到的U盘的盘符后,就可以执行挂载操作
5)挂载之后,就可以拷贝文件等操作
5)文件操作完成之后卸载U盘
该demo实现了上述全部流程。
1