如何動態尋找新安裝的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 分區除外(FAT32 分區只有一串八個十六進制數字,因此 8^16 = 281,474,976,710,656 個選擇)

您可能還想查看blkidfindfs命令。

相關內容