写一段U盘自动挂载的代码
时间: 2023-06-15 10:03:26 浏览: 133
openwrt完美挂载usb盘中文 脚本代码
5星 · 资源好评率100%
在 Linux 系统上,可以通过编写 udev 规则来实现 U 盘自动挂载。下面是一个示例规则:
1. 首先,打开 /etc/udev/rules.d 目录,创建一个新的规则文件,命名为 99-usb-mount.rules。
2. 在该文件中添加以下内容:
```
ACTION=="add", KERNEL=="sd[b-z][1-9]", TAG+="systemd", ENV{SYSTEMD_WANTS}+="usbmount@%k.service"
```
这个规则指定了当一个新的 USB 存储设备插入时,执行一个叫做 usbmount@.service 的 systemd 服务来挂载它。
3. 接下来,创建一个名为 usbmount@.service 的 systemd 服务文件,路径为 /etc/systemd/system/usbmount@.service。
4. 在该文件中添加以下内容:
```
[Unit]
Description=USB Device Mounting (%i)
BindsTo=dev-%i.device
After=dev-%i.device
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/mount /dev/%i /media/%i
ExecStop=/usr/bin/umount /dev/%i
[Install]
WantedBy=multi-user.target
```
这个 systemd 服务文件定义了一个类型为 oneshot 的服务,它在启动时挂载设备,并在停止时卸载设备。它还指定了在 /media 目录下创建一个与设备名称相同的目录作为挂载点。
5. 最后,重新加载 udev 规则并重新启动 udev 服务,以使新规则生效:
```
$ sudo udevadm control --reload-rules
$ sudo systemctl restart systemd-udevd.service
```
完成以上步骤后,当您插入 U 盘时,它应该会自动挂载在 /media 目录下,并显示在文件管理器中。
阅读全文