Tengo la necesidad de encontrar todos los dispositivos de almacenamiento grabables conectados a una máquina determinada, estén o no montados.
La forma tonta de hacer esto sería probar cada entrada /devque corresponda a un dispositivo grabable (hd * y sd *).
¿Existe una solución mejor o debería seguir con esta?

Respuestas:
Si solo le interesan los dispositivos de almacenamiento en bloque , puede usar el
lsblkpaquete util-linux ampliamente disponible:Se presta bien a las secuencias de comandos con muchas otras columnas disponibles.
fuente
Puede rastrear la salida
lshwy extraer detalles sobre los dispositivos en la clasediskotape(y tal vez en otros; lastorageclase le brinda detalles sobre controladores de almacenamiento, scsi, sata, sas, etc.).p.ej
La
-shortopción da un buen resumen compacto. Por ejemplo, en mi servidor zfsonlinux / estación de trabajo / caja de experimento (desafortunadamente no hay dispositivos de cinta):Los dispositivos / 0/1 son en realidad un lector de tarjetas USB (hay una tarjeta SD de 2GB conectada a una de las ranuras), y el dispositivo / 0/2 es mi teléfono Android conectado para cargar solo. El dispositivo 0/3 es una unidad flash USB de 4GB.
lshwpuede producir texto sin formato, html, xml y salida json. También puede volcar detalles de hardware en un formato de base de datos sqlite.Está empaquetado para Debian y la mayoría de las otras distribuciones. La página de inicio y la fuente están en http://ezix.org/project/wiki/HardwareLiSter
fuente
Por favor, prueba este comando
Enumerará todos los dispositivos de bloque en su sistema.
fuente
Puede usar
lsblkpara enumerar todos los dispositivos de bloque, junto con si cada dispositivo es de solo lectura o no.Luego puede usar
grepeawkimprimir los nombres de los dispositivos de bloque que no son de solo lectura:fuente
lsblkenumerará todos los dispositivos de almacenamiento en bloque.fdisk -lenumerará todas las particiones en todos los dispositivos que se enumeran en/proc/partitionslshw -shortle dará información sobre todo el hardware (excepto quizás FireWire) en el sistema.fuente
Si, según su respuesta a Derobert, que está buscando algo que las listas de las unidades de cinta y las impresoras , puede estar interesado en
lsdev,lsusbylspci.fuente
fdisk -lPuedes probar el siguiente comando:
fuente
Puede usar hwinfo para enumerar todos los discos ( documentación ).
hwinfo --block --shortda una visión general:hwinfo --diskda más detalles para cada disco.FYI: en algunas distribuciones de Linux como Ubuntus 14.04 y superior, hwinfo no está presente en el repositorio oficial .
fuente
He encontrado eso
fdiskylsblkno estoy disponible en la terminal virtual para el instalador de Debian. En este caso usoblkid, que obtiene el UUID para dispositivos de almacenamiento en bloque.fuente
Si se refiere a dispositivos RAID, entonces no podría obtener el resultado correcto usando hdparm smartctl, etc. porque este tipo de herramientas busca / dev, que es el nivel del sistema operativo si desea saber sobre el nivel de hardware, entonces necesita tener una herramienta como megacli Solía depurar con megacli
Para obtener el número de serie del disco
En la salida anterior, los datos de consulta contienen el número de serie
fuente
Aquí están los dos comandos que usé para encontrar almacenamiento local y compartido.
Para el almacenamiento local
Para almacenamiento compartido
fuente
loopytmpfspartición. Por lo tanto, es mejor limpiar la salida con grep como se indicó anteriormente.Esto enumerará todos sus discos y unidades montadas:
fuente