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 /dev
que 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
lsblk
paquete util-linux ampliamente disponible:Se presta bien a las secuencias de comandos con muchas otras columnas disponibles.
fuente
Puede rastrear la salida
lshw
y extraer detalles sobre los dispositivos en la clasedisk
otape
(y tal vez en otros; lastorage
clase le brinda detalles sobre controladores de almacenamiento, scsi, sata, sas, etc.).p.ej
La
-short
opció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.
lshw
puede 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
lsblk
para enumerar todos los dispositivos de bloque, junto con si cada dispositivo es de solo lectura o no.Luego puede usar
grep
eawk
imprimir los nombres de los dispositivos de bloque que no son de solo lectura:fuente
lsblk
enumerará todos los dispositivos de almacenamiento en bloque.fdisk -l
enumerará todas las particiones en todos los dispositivos que se enumeran en/proc/partitions
lshw -short
le 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
,lsusb
ylspci
.fuente
fdisk -l
Puedes probar el siguiente comando:
fuente
Puede usar hwinfo para enumerar todos los discos ( documentación ).
hwinfo --block --short
da una visión general:hwinfo --disk
da 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
fdisk
ylsblk
no 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
loop
ytmpfs
partición. Por lo tanto, es mejor limpiar la salida con grep como se indicó anteriormente.Esto enumerará todos sus discos y unidades montadas:
fuente