USB デバイスはいつ sdb としてマウントされ、いつ sdc としてマウントされるのでしょうか?

USB デバイスはいつ sdb としてマウントされ、いつ sdc としてマウントされるのでしょうか?

先週、USBがSDCであると想定するスクリプトがあり、このコマンドを使用していました。

usb_path=`lsblk | grep sdc1 | awk '{print $7}'`

しかし、戻ってみると、スティックは空でした。スティックの名前が sdb だったからです。では、スティックの名前によって何が変わるのでしょうか? sdc になったときは他のディスクは接続されておらず、sdb になった今は他のディスクは接続されていません。そのため、私が確認できた唯一の違いは時間ですが、それは馬鹿げているように思えます。ああ、先週と同じ USB スティックです。

答え1

/の中の文字b/はカウンターです。csdbsdc

最初に検出されたディスクには がsda、2 番目にはsdbが、というように割り当てられます。

たとえば、USB スティックを差し込むときに一時的に接続が緩むと、文字がスキップされることがあります。最初に USB スティックは になり、その後接続が切断されて再確立され、まだ解放されていないため にsdbなります。sdcsdb

同じデバイスが毎回同じ名前を取得するとは限らないため、Ubuntu には、ディスク上のファイルシステムの ID にバインドされたディスクへのシンボリック リンクを含むディレクトリがあります。 /dev/disk/by-uuid/

接続するすべてのディスク上のすべてのパーティションがこのディレクトリにエントリを取得し、同じパーティションでは常に同じままになります。

USB スティックの ID ではなく、特定の USB ポートに接続されている USB スティックにアクセスする場合は、 のエントリを使用できます/dev/disk/by-path

lsblk特定のデバイスに関する情報が必要な場合は、引数を受け入れます。代わりに、たとえばまたはをlsblk | grep …使用できます。lsblk /dev/disk/by-id/1234-5678lsblk /dev/disk/by-path/pci-0000:00:2.0-usb-0:1:1.0-scsi-0:0:0:0

関連情報