Прилагается внешние и внутренние устройства к системе в Linux [дубликат]

Возможный дубликат:
Прилагается внешние и внутренние устройства к системе в Linux

Как я могу найти через терминал что, какие устройства являются внешними и которые являются внутренними.

Внешним я имею в виду устройства, присоединенные к USB-порту. Например, Карта памяти, Портативный USB HardDrive и т.д.

Внутренним я имею в виду устройства, присоединенные внутренне. Например, Жесткий диск SATA и т.д.

Спасибо

3
задан 20.03.2017, 12:17

4 ответа

Можно использовать lsusb перечислять USB-устройства, lspci перечислять устройства PCI, и lspcmcia перечислять устройства PCMCIA.

Если Вы только заботитесь об устройствах типа диска, можно также изучить /dev/disk/by-id. Название ссылки устройства запускается с типа соединения (usb, ata, scsi-sata, и т.д.)

4
ответ дан 07.12.2019, 23:45

Это не в целом возможно - много машин имеет внутренние USB-устройства (вещи как интерфейсы Bluetooth, и считыватели отпечатков пальцев часто реализуются таким образом), и возможно иметь внешние устройства SATA (ноутбук, который я использую, теперь имеет eSATA порт). Устройства SCSI могут также быть внутренними или внешними.

2
ответ дан 07.12.2019, 23:45

Блочные устройства имеют "съемный" атрибут. В то время как это точно не соответствует внутренний/внешний (например, внутренний CD-ROM является "съемным", и диск eSATA может быть неправильно классифицирован), это может быть достаточно близко в Ваших целях.

$ cd /sys/block/
$ grep ^ */removable
dm-0/removable:0
dm-1/removable:0
dm-2/removable:0
dm-3/removable:0
dm-4/removable:0
dm-5/removable:0
dm-6/removable:0
dm-7/removable:0
dm-8/removable:0
fd0/removable:1
hdc/removable:1
loop0/removable:0
loop1/removable:0
loop2/removable:0
loop3/removable:0
loop4/removable:0
loop5/removable:0
loop6/removable:0
loop7/removable:0
md0/removable:0
md1/removable:0
sda/removable:0
sdb/removable:0
sdc/removable:0
sdd/removable:0
sde/removable:1
sdf/removable:1
sdg/removable:1
sdh/removable:1
sdi/removable:1
0
ответ дан 07.12.2019, 23:45

вот небольшой пример сценария с помощью HAL, если у Вас есть он.

store=$(hal-find-by-capability --capability "storage")
for s in $store
do
  r=$(hal-get-property --udi ${s} --key storage.removable)
  if [ $r = "true" ]; then
    hal-get-property --udi ${s} --key info.product
    prod=$(hal-get-property --udi ${s} --key info.product)
    type=$(hal-get-property --udi ${s} --key storage.drive_type)
    device=$(hal-get-property --udi ${s} --key block.device)
    mdir=$(awk -vdev="$device" '$0~dev{print $2}' /etc/mtab)
    echo Product: ${prod}
    echo Type: ${type}
    echo Mounted on: ${mdir}
  fi
done

vol=$(hal-find-by-capability --capability "volume")
for v in $vol
do
   mountpt=$(hal-get-property --udi ${v} --key volume.mount_point)
   blk=$( hal-get-property --udi ${v} --key block.device )
   echo "mount point: $mountpt"
   echo "device: $blk"
done

Использовать hal-device управляйте для показа устройств HAL.

0
ответ дан 07.12.2019, 23:45

Теги

Похожие вопросы