# 创建一个 udev 规则文件,用于自动挂载 U 盘
sudo nano /etc/udev/rules.d/99-usb-storage.rules
# 添加以下内容到文件中
# 这个规则会匹配所有 USB 存储设备,并在插入时触发脚本
ACTION=="add", SUBSYSTEM=="block", ENV{ID_USB_DRIVER}=="usb-storage", RUN+="/usr/local/bin/automount.sh"
# 创建自动挂载脚本
sudo nano /usr/local/bin/automount.sh
# 添加以下内容到脚本中
#!/bin/bash
# 获取设备名称
device=$(lsblk -n -o NAME -d /dev/${DEVNAME})
# 挂载点
mount_point="/media/usb"
# 创建挂载点目录(如果不存在)
mkdir -p $mount_point
# 挂载设备
mount /dev/${device} $mount_point
# 输出日志信息
echo "$(date): ${device} mounted on ${mount_point}" >> /var/log/automount.log
# 设置脚本可执行权限
sudo chmod +x /usr/local/bin/automount.sh
# 重新加载 udev 规则
sudo udevadm control --reload-rules
sudo udevadm trigger
创建 udev 规则文件:我们创建了一个名为 99-usb-storage.rules
的 udev 规则文件,该文件位于 /etc/udev/rules.d/
目录下。这个规则文件用于定义当检测到 USB 存储设备插入时需要执行的操作。
规则内容:ACTION=="add"
表示当设备被添加时触发规则;SUBSYSTEM=="block"
表示匹配块设备;ENV{ID_USB_DRIVER}=="usb-storage"
表示匹配 USB 存储设备;RUN+="/usr/local/bin/automount.sh"
表示运行指定的脚本。
创建自动挂载脚本:automount.sh
脚本用于处理实际的挂载操作。它首先获取设备名称,然后创建挂载点目录(如果不存在),最后将设备挂载到指定位置,并记录日志。
设置脚本权限:确保脚本具有可执行权限,以便 udev 可以正确调用它。
重新加载 udev 规则:使用 udevadm control --reload-rules
和 udevadm trigger
命令来重新加载并应用新的 udev 规则。
上一篇:linux 找文件命令
下一篇:linux系统开放端口的命令
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站