如何在 Linux 中确定 U 盘的地址?
我的任务是在我的笔式驱动器上动态地创建一个文件 - 只要我插入笔式驱动器,就会创建该文件。
答案1
我建议使用 udev。
编辑:这是 2007 年发布的一个类似的问题。http://www.linuxquestions.org/questions/linux-software-2/how-to-detect-programatically-if-a-usb-device-is-is-plugged-in-plugged-out-524568/
答案2
至少在 Ubuntu 中(意味着驱动器自动挂载),驱动器的文件可以在 下找到/media/<drivelabel>
。驱动器标签可以是随机的(如果您没有设置)或您设置的值。
答案3
为 UDEV +1 创建一个 UDEV 规则,每当插入具有特定 UUID 的设备时,该规则都会运行脚本。
要确定设备的挂载点,例如 uuid 为“95738a33-589f-498d-8595-a81207f45dde”,您可以使用以下虽然不好看但可以正常工作的单行代码:
grep $(ls -lah /dev/disk/by-uuid/95738a33-589f-498d-8595-a81207f45dde | grep -o "sd[a-z]*[0-9]*") /etc/mtab | awk '{print $2}'