自动挂载USB和TF卡

该文章详细介绍了如何在Linux系统中通过创建udev规则和脚本来实现U盘插入时自动挂载,以及移除时自动卸载。主要步骤包括创建挂载目录,编写udev规则文件(11-add-usb.rules和11-remove-usb.rules)来响应设备的添加和移除事件,创建并配置mount-usb.sh和umount-usb.sh脚本来执行挂载和卸载操作,并赋予脚本执行权限。
摘要由CSDN通过智能技术生成

转自链接https://zhuanlan.zhihu.com/p/443745437
①创建用于挂载U盘的目录

mkdir /mnt/usb –p

②在/etc/udev/rules.d目录下添加用于检测U盘插入规则(add),终端下执行以下命令创建第一个U盘插入规则。

vim /etc/udev/rules.d/11-add-usb.rules

在11-add-usb.rules中添加如下内容:

ACTION!="add",GOTO="END"
KERNEL=="sda[0-9]",RUN+="/etc/mount-usb.sh %k"
LABEL="END"

TF卡的KERNEL==“mmcblk[0-9]p1”
​ 上面的内容意思是:如果不是add添加事件,那么就跳到END标签处结束,如果是add事件那么执行以下规则,如果添加的设备是sda0至sda9中任意一个,那么就执行RUN后面的内容,此处是一个脚本,一个挂载U盘的脚本,它还带有个参数%k,表示kernel的值。

​ 然后在/etc/目录下创建mount-usb.sh脚本
在mount-usb.sh中添加如下内容:

#!/bin/sh
mount  -t vfat /dev/$1 /mnt/usb
sync

上面的内容意思是:#!/bin/sh表示是脚本文件,按脚本文件解析,mount -t vfat /dev/$1 /mnt/usb表示按vfat格式将/dev/$1挂载到/mnt/usb目录下,其中这里的$1就是之前规则里传入进来的%k,也就是kernel值。Sync表示同步U盘数据。

​ 最后记得给脚本文件添加执行权限。

chmod +x /etc/mount-usb.sh

③在/etc/udev/rules.d目录下添加用于检测U盘移出规则(remove),终端下执行以下命令创建第U盘移出规则。

vim /etc/udev/rules.d/11-remove-usb.rules

在11-remove-usb.rules中添加如下内容:

ACTION!="remove",GOTO="END"
KERNEL=="sda[0-9]",RUN+="/etc/umount-usb.sh %k"
LABEL="END"

上面的内容意思是:如果不是remove添加事件,那么就跳到END标签处结束,如果是remove事件那么执行以下规则,如果移出的设备是sda0至sda9中任意一个,那么就执行RUN后面的内容,此处是一个脚本,一个卸载U盘的脚本,它还带有个参数%k,表示kernel的值。

​ 然后在/etc/目录下创建umount-usb.sh脚本

​ 在umount-usb.sh中添加如下内容:

#!/bin/sh
sync
umount /mnt/usb

​ 上面的内容意思是:#!/bin/sh表示是脚本文件,按脚本文件解析,先同步U盘数据,然后再卸载,其中这里的$1就是之前规则里传入进来的%k,也就是kernel值。

​ 最后记得给脚本文件添加执行权限。

chmod +x /etc/umount-usb.sh

④设置好规则后,当我们插入U盘,执行df –Th就会显示如下图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值