コマンドラインからUSB経由で接続されているすべてのストレージデバイス(サムドライブ/外部ハードドライブ)を一覧表示するにはどうすればよいですか?


18

USB経由で接続されているデバイスのみをリストしたい。

問題は、Ubuntuはすべてのサムドライブをリムーバブル(in /sys/block/*/removable)として認識しているように見えるが、外付けハードドライブを同じように認識しないことです。

これは、USBデバイスを検出する方法よりも少し具体的ですか?

回答:


14

マウントされたディスクを探している場合は、

df

他のすべてのディスクとともにいくつかの有用な情報とともにそれらをリストします。


2
ただし、これにより、USB経由で接続されたデバイスだけでなく、すべてのブロックデバイスが提供されます。
ジェレミーカー

9

デバイスのudevプロパティ、特にプロパティを確認することをお勧めしID_BUSます。

for device in /sys/block/*
do
    if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
    then
        echo $device
    fi
done

これにより、カードが挿入されていない場合でも、組み込みのカードリーダーのデバイスが吐き出されます。
b_laoshi

@b_laoshi:ええ、これらはストレージデバイスとしてレポートされますが、メディアは存在しません。
ジェレミーカー

2

おもう

lsusb

少なくともあなたが求めていることを理解していれば、あなたが望むものをあなたに与えるでしょう。(もちろん、ストレージだけでなく、すべてのUSBデバイスをリストします。)


2

接続されたUSBストレージデバイスのみを一覧表示する

編集:時間があれば、この投稿を再訪して、USBデバイスのみをリストします。現時点では、/media一部の人にとって十分である可能性のある、マウントされているすべてのデバイスをリストします。

にマウントされているすべてのデバイスのリスト /media

ここにある他のすべての回答は、非USBストレージデバイスまたは非ストレージUSBデバイスのいずれかを除外することに失敗したようです。USB経由で接続されたストレージデバイスのみを一覧表示するコマンドを次に示します。 1つの例外は、誰にとっても重要ではない可能性がありますが、これは、マウントされたメディアを持つ接続されたUSB光学ドライブを表示しません。

これが機能するための要件

  • USBデバイスをマウントする必要があります。UbuntuデスクトップOSは通常、デフォルトで自動マウントされます
  • メディアは/mediaディレクトリにマウントする必要があります。USBデバイスがfstabで別の場所にマウントするように設定されている場合、次のコマンドを微調整する必要があります。

USBストレージデバイスのリスト
作成中のスクリプトの特定のケースでは、個々のパーティションをリストします。以下に2つのコマンドを示します。1つは接続されたデバイスのパーティションをリストし、もう1つは単にデバイスをリストします。

  • パーティションのリスト:
    lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
    サンプル出力:

    /dev/sdd1
    /dev/sdi1
    /dev/sdj1
    /dev/sdj2
    
  • デバイスのリスト:
    lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
    サンプル出力:

    /dev/sdd
    /dev/sdi
    /dev/sdj
    

マウントされる内部ディスクのパーティションはどう/mediaですか?
ムル

これにより問題が発生しますが、ほとんどのユーザーには影響しない可能性があります。後で考えて更新します。
b_laoshi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.