首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用运行Ubuntu 14.04的GNU bash 4.3.11获取计算机中所有sd卡的路径

使用运行Ubuntu 14.04的GNU bash 4.3.11获取计算机中所有sd卡的路径
EN

Unix & Linux用户
提问于 2016-03-03 14:31:36
回答 1查看 152关注 0票数 1

如何使用GNUbash4.3.11运行Ubuntu14.04并仅使用这些获得计算机中所有sd卡的路径?

背景:

我有一个..iso文件,并希望创建一个bash脚本,询问用户他希望向哪个sd卡写入..iso文件。脚本不应该为他提供内部硬盘驱动器或cd/dvd驱动器,只是sd卡路径。

实际上我用的是

代码语言:javascript
复制
ls -la /dev/sd*

例如,我在一台测试机器上

代码语言:javascript
复制
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卡,但是算法怎么能做到这一点呢?

EN

回答 1

Unix & Linux用户

发布于 2016-03-03 15:13:12

您可以使用命令lsblk -d -t获得有价值的信息,该命令提供如下输出:

代码语言:javascript
复制
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

不幸的是,我没有一种方法可以在不做危险假设的情况下排除硬盘和CDROM(这表示旋转介质,并将排除HDD和CDROM)。(即使是容量也不能安全地作为安全的数字eXtended容量(SDXC)格式工作,这种格式在2009年1月宣布,并在SD规范的3.01版中定义,它支持最多2TB的卡,而且我看到SDcards的容量高于一些SSD的容量。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/267395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档