自动识别U盘并挂载到指定位置

本文介绍了一个用Bash编写的脚本,用于检查/dev目录下的USB设备,如果存在则挂载到/mnt目录,确保U盘设备的自动挂载过程。
摘要由CSDN通过智能技术生成
#!/bin/bash

# 检查/dev目录下是否有U盘设备
usb_devices=$(ls /dev/sd* | grep -E "/dev/sd[a-z][0-9]")

# 检查是否找到U盘设备
if [ -z "$usb_devices" ]; then
    echo "未找到可用的U盘设备"
    exit 1
fi

# 挂载U盘到/mnt录下
for device in $usb_devices; do
    # 检查设备是否已经挂载
    # if df -h | grep -qs "$device" ; then
    #    echo "$device 已经挂载"
    # else
    # 获取设备的编号
    device_num=$(echo "$device" | awk -F/ '{print $NF}')
    # 挂载U盘到/mnt目录下
    mount_point="/mnt/usb"
    mkdir -p "$mount_point"
    mount "$device" "$mount_point"
    if [ $? -eq 0 ]; then
        echo "$device 成功挂载到 $mount_point"
    else
        echo "挂载 $device 失败"
    fi
    # fi
done

在嵌入式Linux系统中,自动挂载U盘的过程与普通Linux系统类似。您可以按照以下步骤进行操作: 1. 确定是否支持自动挂载:首先,确保您的嵌入式Linux系统支持自动挂载U盘。这通常涉及到在内核配置中启用相关的功能选项,如USB支持、USB存储设备支持、自动挂载支持等。 2. 配置udev规则:在嵌入式Linux系统中,通常会使用udev来管理设备的插拔事件。您可以在udev规则中定义自动挂载U盘的操作。以下是一个简单的示例udev规则: ``` ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[a-z]*", RUN+="/path/to/mount_script %k" ``` 上述规则会在U盘插入时执行`/path/to/mount_script`脚本,并将设备节点作为参数传递给脚本。 3. 编写挂载脚本:根据上述udev规则,您需要编写一个挂载脚本(`/path/to/mount_script`),用于实际挂载U盘。该脚本通常会使用mount命令将U盘挂载指定挂载点。 ``` #!/bin/sh DEV=$1 MOUNT_POINT="/mnt/usb" mkdir -p $MOUNT_POINT mount /dev/$DEV $MOUNT_POINT ``` 上述脚本会将设备节点参数(`%k`)作为输入,并将U盘挂载到`/mnt/usb`目录下。 4. 重启udev服务:在应用了udev规则和挂载脚本后,您需要重启udev服务,以使更改生效。 ``` /etc/init.d/udev restart ``` 完成上述步骤后,当您插入U盘时,udev将会识别到设备插拔事件,并执行指定挂载脚本自动挂载U盘。 请注意,在嵌入式Linux系统中,具体的配置和操作步骤可能因系统和发行版而有所不同。您可能需要根据自己的系统进行相应的调整。 希望这可以帮助您在嵌入式Linux系统中实现自动挂载U盘!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值