Ubuntu 14.04を実行しているGNU bash 4.3.11を使用して、コンピュータ上のすべてのSDカードへのパスを取得します。

Ubuntu 14.04を実行しているGNU bash 4.3.11を使用して、コンピュータ上のすべてのSDカードへのパスを取得します。

Ubuntu 14.04を実行しているGNU bash 4.3.11を使用して、コンピュータ上のすべてのSDカードのパスをどのように取得できますか?

背景:

.isoファイルがあり、ユーザーに.isoファイルを書き込むSDカードを要求するbashスクリプトを作成したいと思います。スクリプトは、内蔵ハードドライブやCD / DVDドライブを提供せずにSDカードパスのみを提供する必要があります。

実際に私は手動で使用します

ls -la /dev/sd*

たとえば、テストマシンを提供します。

brw-rw---- 1 root disk 8,  0 May  3 10:54 /dev/sda
brw-rw---- 1 root disk 8,  1 May  3 10:54 /dev/sda1
brw-rw---- 1 root disk 8,  2 May  3 10:54 /dev/sda2
brw-rw---- 1 root disk 8,  5 May  3 10:54 /dev/sda5
brw-rw---- 1 root disk 8, 16 May  3 15:12 /dev/sdb
brw-rw---- 1 root disk 8, 17 May  3 14:56 /dev/sdb1
brw-rw---- 1 root disk 8, 18 May  3 14:56 /dev/sdb2

この場合、コンピュータのハードウェアを知っているので、sdaが私のハードドライブであることを「知っている」ので、sdbはSDカードであるに違いありませんが、アルゴリズムはこれをどのように実行しますか?

ベストアンサー1

lsblk -d -t次の出力を提供するコマンドを使用して、貴重な情報を取得できます。

NAME  ALIGNMENT MIN-IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED    RQ-SIZE
sda           0    512      0     512     512    0 deadline     128
sdb           0   4096      0    4096     512    1 deadline     128
sdc           0    512      0     512     512    1 deadline     128
sdd           0    512      0     512     512    1 deadline     128
sr0           0    512      0     512     512    1 deadline     128

残念ながら、危険な仮定なしにSSDを排除する方法はありません(SDXC)形式は2009年1月にリリースされ、SD仕様3.01に導入されました。バージョンで定義されているように最大2TBのカードをサポートします。一部のSSDよりも容量の高いSDカードを見たことがあります。

おすすめ記事