今回は、Linuxで複数のUSBを接続しているとき、USBの数を検出する方法を紹介したいと思います。
実行環境
今回はLinuxMintで試してみました。UbuntuやDebian、その他のディストロでもOKです。
mint@mint-VirtualBox:~$ uname -a Linux mint-VirtualBox 5.0.0-32-generic #34~18.04.2-Ubuntu SMP Thu Oct 10 10:36:02 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
USBデバイスを検出する方法
まず、LinuxでUSBの情報を確認する方法の一つに、ブロックデバイスを検出するlsblkコマンドがあります。
mint@mint-VirtualBox:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 16G 0 disk └─sda1 8:1 0 16G 0 part / sdb 8:16 1 14.4G 0 disk └─sdb1 8:17 1 14.4G 0 part /media/mint/67240c56-180c-4639-8b44-aa05f7b449d4 sr0 11:0 1 73.6M 0 rom /media/mint/VBox_GAs_6.0.14
より詳しい使い方を知りたい方は、lsblk -hを実行すると、詳細な使い方が確認できます。
接続されているUSBの数を検出方法
先程のlsblkコマンドを使用して検出したいと思います。
mint@mint-VirtualBox:~$ lsblk -np /dev/sd[^a][1-9] 2>/dev/null | wc -l
lsblkコマンドのオプションnとオプションpを使用します。
・オプションn:ヘッダ情報を表示しない
・オプションp:完全なデバイスパスを表示する
・オプションp:完全なデバイスパスを表示する
・接続されているUSBが1つの時
mint@mint-VirtualBox:~$ lsblk -np /dev/sd[^a][1-9] 2>/dev/null | wc -l 1
・接続されているUSBが2つの時
mint@mint-VirtualBox:~$ lsblk -np /dev/sd[^a][1-9] 2>/dev/null | wc -l 2
試す機会があればぜひ。
コメント