Usando o udev:
Você pode obter informações úteis udev
(em sistemas que a utilizam - quase todos os Linux do tipo desktop, com certeza). Por exemplo, se você deseja saber a qual unidade conectada está associada /dev/sdb
, você pode usar:
udevadm info --query=property --name=sdb
Ele mostrará uma lista de propriedades desse dispositivo, incluindo o serial (ID_SERIAL_SHORT). Com essas informações, você pode ver a saída lsusb -v
e descobrir coisas como o fabricante e o nome do produto.
Um caminho mais curto para fazer isso seria
udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"
e veja a linha com correspondência $ID_VENDOR_ID:$ID_MODEL_ID
na saída muito menor de lsusb
.
Outra opção útil é udevadm monitor
. Use-o se desejar saber qual nó do dispositivo é criado no momento da conexão do dispositivo . Então, primeira corrida
udevadm monitor --udev --subsystem-match=block
E então conecte o dispositivo. Você verá os nomes dos dispositivos dos dispositivos de bloco detectados (discos / partições) impressos no final de cada linha de saída.
Um exemplo prático da função shell:
Aqui está uma função que você pode colocar no seu .bashrc
(ou .zshrc
):
listusbdisks ()
{
[["x $ 1" == "xv"]] && shift && VERBOSE local = -v
para dsk em $ {@ - / dev / sd?}
Faz
/ sbin / udevadm info --query = caminho --name = "$ dsk" | grep --colour = auto -q usb || continuar
eco "===== O dispositivo $ dsk é:"
(eval $ (/ sbin / udevadm info --query = property --name = "$ dsk" | grep "\ (MODELO \ | VENDED \) _ ID")
["$ ID_VENDOR_ID: $ ID_MODEL_ID" == ":"] && echo "Desconhecido" || \
lsusb $ VERBOSE -d "$ ID_VENDOR_ID: $ ID_MODEL_ID"
)
grep -q "$ dsk" / proc / mounts && echo "----- O DISPOSITIVO ESTÁ MONTADO ----"
eco
feito
}
Use-o assim:
listusbdisks
- reconhecer todos os /dev/sdx
dispositivos;
listusbdisks sdb
ou listusbdisks /dev/sdb
ou listusbdisks sdb sdc
- para obter informações apenas sobre determinados dispositivos;
listusbdisks -v [optional devices as above]
- para mostrar resultados detalhados de lsusb
[Editar]: Adicionadas algumas funcionalidades, como consultar muitos dispositivos, verificar montagens e controlar a verbosidade de lsusb
.