给定一个块设备文件,如何列出所有相关分区?

Given a block device file, how can I list all relevant partions?

给定一个设备文件(例如:/dev/sda我怎样才能得到所有相关分区的列表?

预期输入:

/dev/sda

预期输出:

/dev/sda1
/dev/sda2
/dev/sda3
...

我知道有很多方法可以获取有关块设备的信息,例如 lsblkfdiskblkid 等等,但我想要一个解决方案最简洁(即,不使用大量管道到 grepsedawkuniq 等)。

解决这个问题最浓缩的一个liner是什么?

备注: 我正在使用 linux(特别是 ubuntu)并使用终端或 shell 脚本来解决这个问题。

1根烟斗如何:

lsblk | grep -o 'sda[0-9]'

-o 选项适用于 "only matching"。它在比赛结束后切断了线路的一部分。

用户DopeGhoti answered my question the most succinctly on Unix & Linux Stack Overflow here

With ls:

$ ls -1 /dev/sda?*
/dev/sda1
/dev/sda2
/dev/sda3