如何动态找到新安装的 USB 驱动器的路径?

如何动态找到新安装的 USB 驱动器的路径?

我想要一个辅助脚本或设置更改,以触发执行实际工作的第二个或主要脚本。我不需要只为我的电脑做这件事。所以它应该适用于任何 Linux 电脑。

我需要知道新安装的 USB 的路径(以及内容),以便我可以运行使用 USB 上数据的脚本,而我需要该路径。我读了一些关于 udev 的内容,但它们解释得不够清楚。此命令:

ACTION=="add", ATTRS{idVendor}=="abcd", ATTRS{idProduct}=="1234", RUN+="/home/bibi/bin/xyz.sh

每次将任何设备安装到 USB 时,都会设置一个运行脚本。但是我如何找出 USB 驱动器的路径?(例如/home/???

提前致谢。如果数据不足或我遗漏了某些内容,请见谅。

答案1

一个简单的方法是使用UUID。 每个分区都有一个唯一的地址,您可以在脚本中使用它。

ls -l /dev/disk/by-uuid

此命令显示当前作为分区符号链接安装的每个驱动器的 UUID(USB 驱动器可以有多个分区)

这些代码是随机生成的,具有足够的熵,因此它们不太可能发生冲突,但 FAT32 分区除外(它只有一串八个十六进制数字,因此 8^16 = 281,474,976,710,656 个选择)

您可能还想查看blkidfindfs命令。

相关内容