/dev/sdXがUSBまたはHDDに接続されているかどうかはどうすればわかりますか?

/dev/sdXがUSBまたはHDDに接続されているかどうかはどうすればわかりますか?

ローカルHDDなのかUSBフラッシュドライブなのか、どうすればわかりますか?私はroot権限がない方法を好みます。/dev/sdX

いいですね。udevadm多くの助けになります。

ローカルハードドライブの場合:

udevadm info --query=all --name=sdb | grep ID_BUS
E: ID_BUS=ata

USBキーの場合:

udevadm info --query=all --name=sdc | grep ID_BUS
E: ID_BUS=usb

ベストアンサー1

ルートなしで知ることができるいくつかの方法があり、その多くは難しいです。

使用/dev/disk/by-id:

find /dev/disk/by-id/ -lname '*sdX'

このように応答すると、/dev/disk/by-id/usb-blah-blah-blahUSBディスクです。他の接頭辞にはata、、、dmなどがありますmemstickscsi

以下を使用すると/dev/disk/by-path大きな違いはありません。

find /dev/disk/by-path/ -lname '*sdX'

あなたはこのようなものを得るでしょう/dev/disk/by-path/pci-0000:00:1d.7-usb-0:1:1.0-scsi-0:0:0:0。ディスクへのデバイスパスが表示されます。この場合、おおよそのパスはPCI→USB→Diskです。 (知っている-usb-)。

udevadmudevの使用/sbin$PATH$PATH

/sbin/udevadm info --query=all --name=sdX | grep ID_BUS

デバイスがあるバスの種類を確認できます。完全な情報のリストを取得するには、削除してください| grep ID_BUS(追加する必要があるかもしれません|less)。

すでにインストールされている場合は、lshwHuygensの答え可能また働きます:

lshw -class disk -class storage | less

そしてディスクの出力を見る。でsdXをless試して/、最初のbus info数行を見てください。最初の行は言葉だけですが、scsi@…最初の数行はより多くを明らかにします。しかし、あなたはしなければならないスーパーユーザーとして実行すると適切ではない可能性があります。 (症状:お使いのノートパソコンではSATAディスクがリストされていますが、USBディスクはリストされていません。実行時に両方がリストされています。sudo

これよりもやや直接的な他のものがあります。

おすすめ記事