如何使用GNUbash4.3.11运行Ubuntu14.04并仅使用这些获得计算机中所有sd卡的路径?
背景:
我有一个..iso文件,并希望创建一个bash脚本,询问用户他希望向哪个sd卡写入..iso文件。脚本不应该为他提供内部硬盘驱动器或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卡,但是算法怎么能做到这一点呢?
发布于 2016-03-03 15:13:12
您可以使用命令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不幸的是,我没有一种方法可以在不做危险假设的情况下排除硬盘和CDROM(这表示旋转介质,并将排除HDD和CDROM)。(即使是容量也不能安全地作为安全的数字eXtended容量(SDXC)格式工作,这种格式在2009年1月宣布,并在SD规范的3.01版中定义,它支持最多2TB的卡,而且我看到SDcards的容量高于一些SSD的容量。
https://unix.stackexchange.com/questions/267395
复制相似问题