Necesito enumerar todos los puntos de montaje asociados a dispositivos de almacenamiento externos, como llaveros USB y unidades externas SATA.
La única forma que encontré en Ubuntu es llamar a 'mount' y grep para '/media'. Pero me pregunto si existe una manera mejor y más universal.
Todo esto desde la interfaz de línea de comandos (terminal/bash).
Respuesta1
Mirar hacia adentro /media
es una forma razonable de encontrarconexión en calientedispositivos de bloqueo. También puede utilizar lsblk
para enumerar los dispositivos bloqueados y si son conectables en caliente:
$ lsblk -l -p -o name,rm,hotplug,mountpoint
NAME RM HOTPLUG MOUNTPOINT
/dev/sda 0 0
/dev/sda1 0 0 /
/dev/sda2 0 0 [SWAP]
/dev/sda3 0 0 /home
/dev/sdc 0 1
/dev/sdc1 0 1
/dev/sdc2 0 1
/dev/sdc3 0 1 /media/wd3
/dev/sdc4 0 1
/dev/sdd 1 1
/dev/sdd1 1 1 /media/clip
Esto muestra que /dev/sdc
probablemente se trata de un dispositivo externo (HOTPLUG=1) y que hay una partición montada en /media/wd3
. También hay otro dispositivo encendido /media/clip
. La RM
columna significa extraíble, lo que a veces se aplica a los lectores de tarjetas SD, aunque en este caso en realidad es solo una llave flash USB.
También puede utilizar findmnt
para pasar del nombre de un directorio al nombre del dispositivo en el que se encuentra:
$ findmnt -n -o source -T /media/wd3/my/sub/dir
/dev/sdc3
Respuesta2
No hay diferencia entre dispositivos internos y externos, así que no, no hay mejor manera que esperar que el montaje haya sido lo suficientemente consistente como para que todos los dispositivos externos (y solo esos) se monten bajo /media
. Pero un usuario con los permisos adecuados puede montar fácilmente, por ejemplo, una memoria USB en cualquier lugar.