Como encontrar dinamicamente o caminho de uma unidade USB recém-montada?

Como encontrar dinamicamente o caminho de uma unidade USB recém-montada?

Quero um script secundário ou uma alteração nas configurações que acione um segundo script ou script principal que faça o trabalho real. Não preciso fazer isso apenas no meu computador. Portanto, deve funcionar em qualquer computador Linux.

Preciso saber o caminho (e, portanto, o conteúdo) de um USB recém-montado para poder executar um script que use dados no USB para o qual eu precisaria do caminho. Eu li algumas coisas sobre o udev, mas elas não eram explicativas o suficiente. Este comando:

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

definirá um USB para executar o script sempre que qualquer dispositivo for montado nele. Mas como faço para descobrir o caminho da unidade USB? (por exemplo /home/???)

Desde já, obrigado. Desculpe se os dados são insuficientes ou se perdi alguma coisa

Responder1

Uma maneira fácil seria usarUUIDs. Cada partição possui um endereço exclusivo que você pode usar em seus scripts.

ls -l /dev/disk/by-uuid

Este comando mostra o UUID para cada unidade atualmente montada como um link simbólico para a partição (uma unidade USB pode ter mais de uma partição)

Esses códigos são gerados aleatoriamente e têm entropia suficiente para que provavelmente nunca colidirão, exceto para a partição FAT32 (que tem apenas uma sequência de oito dígitos hexadecimais, então 8 ^ 16 = 281.474.976.710.656 opções)

Você pode querer verificar os comandos blkide findfstambém.

informação relacionada