arm linux 自动挂载U盘shell实现

在 arm linux 要使用U盘,需要先用命令 cat /proc/partitions 查看U盘的节点号,例如:/dev/sda1 .然后用命令 mount 挂载U盘到系统的某个目录,例如:mount /dev/sda1 /media/.在弹出U盘的时候,还需要用umount 命令卸载U盘,例如:umount /media.
在本文中,将会介绍一个用linux shell 实现的脚本来自动挂载和卸载U盘。
原理:在U盘插上后,/proc/scsi/usb-storage/目录下有数字命名的文件生成。
挂载U盘后拔掉U盘,/proc/scsi/usb-storage/ 目录下的文件消失。
这时卸载掉U盘,/proc/scsi/usb-storage/ 目录消失。
若先卸载掉U盘,再拔U盘,目录和文件同时消失。
原理2:要检测U盘拔下和插上,必需有两个变量,一个记录上次的检测结果,一次记录当次的检测结果。若不一样,即为插上和拔下U盘的时间。若一样,即为U盘一直没插或一直插着。
原理3: 要识别U盘的格式是fat32 还是 ntfs ,可以用fdisk -l 命令,让后再在结果中找fat32或ntfs关键字。
检测 /proc/scsi/usb-storage/ 目录是否存在。若存在则检测该目录下是否有文件,若有文件,这时若上一次检测到没有该文件,则表示U盘插入,上一次检查到有该文件,则表示U盘一直插入。
检测 /proc/scsi/usb-storage/ 目录是否存在。若存在则检测该目录下是否有文件,若无文件,这时若上一次检测到没有该文件,则表示U盘一直没有,上一次检查到有该文件,则表示U盘拔下。
若检测/proc/scsi/usb-storage/ 目录一直不存在,即表示一直没有U盘插入。

猜你喜欢

转载自blog.csdn.net/mceet/article/details/88797816