先週、USBをsdcに設定するスクリプトがありましたが、このコマンドを使用していました。
usb_path=`lsblk | grep sdc1 | awk '{print $7}'`
ところで帰ってみるとスティック名がsdbなので空でした。それでは、スティックの名前は何に依存しますか? sdcを取得したときに他のディスクが接続されていませんでした。これはsdbで、他のディスクも接続されていません。だから私が見ることができる唯一の違いは時間ですが、それは愚かなようです。あ、これは先週と同じUSBドライブですね。
答え1
文字 /in/ はb
カウンタです。c
sdb
sdc
検出された最初のディスクをインポートしsda
、2番目のディスクをインポートするsdb
ように進みます。
たとえば、USBフラッシュドライブを挿入するときに接続が一時的に緩んでいると、文字がスキップされる可能性があります。最初にUSBスティックが取得し、sdb
接続が中断され、リセットされ、その後はまだ解放されていないsdc
ため、このメッセージが表示されます。sdb
同じデバイスが毎回同じ名前を持つことは期待できないため、Ubuntuにはディスク上のファイルシステムのIDにバインドされたディスクへのシンボリックリンクを含むディレクトリがあります。
/dev/disk/by-uuid/
接続しているすべてのディスク上のすべてのパーティションはこのディレクトリにエントリをインポートし、そのエントリは常に同じパーティションに対して同じままです。
USBスティックのIDではなく、特定のUSBポートに接続されているUSBスティックにアクセスするには、の項目を使用できます/dev/disk/by-path
。
lsblk
特定のデバイスに関する情報が必要な場合は、パラメータを受け入れてください。したがって、例えばlsblk | grep …
、lsblk /dev/disk/by-id/1234-5678
またはlsblk /dev/disk/by-path/pci-0000:00:2.0-usb-0:1:1.0-scsi-0:0:0:0