LINUX如何自动识别移动硬盘的插入并挂载shell脚本实现
时间: 2024-04-15 22:30:38 浏览: 16
可以使用udev规则来实现Linux自动识别移动硬盘的插入并挂载。以下是一个基本的shell脚本示例:
1. 首先,创建一个udev规则文件。在终端中使用以下命令创建一个新文件:
```
sudo nano /etc/udev/rules.d/99-usb-mount.rules
```
2. 在打开的文件中添加以下内容:
```
ACTION=="add", KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", RUN+="/path/to/mount_script.sh %k"
ACTION=="remove", KERNEL=="sd[a-z]", SUBSYSTEMS=="usb", RUN+="/path/to/unmount_script.sh %k"
```
这些规则定义了在插入和拔出USB设备时要执行的脚本。请将`/path/to/mount_script.sh`和`/path/to/unmount_script.sh`替换为您实际脚本的路径。
3. 创建一个用于挂载设备的shell脚本。在终端中使用以下命令创建一个新文件:
```
sudo nano /path/to/mount_script.sh
```
4. 在打开的文件中添加以下内容:
```bash
#!/bin/bash
DEVNAME=$1
MOUNTPOINT="/media/usb"
# 创建挂载点目录
mkdir -p $MOUNTPOINT
# 挂载设备
mount /dev/$DEVNAME $MOUNTPOINT
```
这个脚本将根据传递给它的设备名称(`%k`)来挂载设备。它会创建一个名为`/media/usb`的挂载点目录,并将设备挂载到该目录。
5. 保存并关闭脚本文件。
6. 授予脚本执行权限。在终端中使用以下命令:
```
sudo chmod +x /path/to/mount_script.sh
```
7. 创建一个用于卸载设备的shell脚本。在终端中使用以下命令创建一个新文件:
```
sudo nano /path/to/unmount_script.sh
```
8. 在打开的文件中添加以下内容:
```bash
#!/bin/bash
DEVNAME=$1
MOUNTPOINT="/media/usb"
# 卸载设备
umount $MOUNTPOINT
# 删除挂载点目录
rmdir $MOUNTPOINT
```
这个脚本将根据传递给它的设备名称(`%k`)来卸载设备并删除挂载点目录。
9. 保存并关闭脚本文件。
10. 授予脚本执行权限。在终端中使用以下命令:
```
sudo chmod +x /path/to/unmount_script.sh
```
11. 重新加载udev规则。在终端中使用以下命令:
```
sudo udevadm control --reload-rules
```
现在,当您插入或拔出移动硬盘时,udev规则将自动执行相应的脚本来挂载或卸载设备。请注意,您可能需要根据您的系统和硬件配置进行一些调整。