获取块设备父级

loo*_*bee 5 linux block-device

给定一个块设备,我怎样才能得到它的“父”?

一个例子是 LUKS 虚拟解密设备 (/dev/mapper/decrypted),其父设备将是加密块设备 (/dev/sdb)

loo*_*bee 8

对于非交互式工作,这可以使用 来完成dmsetup deps,它列出了块设备的依赖项。默认情况下,它将返回主要:次要设备编号,但您可以提供其他选项来输出名称:

dmsetup deps -o devname /dev/mapper/decrypted
Run Code Online (Sandbox Code Playgroud)

为了以交互方式执行此操作,最好的方法是使用lsblk,它会输出一个格式良好的图形:

??sda8                     8:8    0  43.9G  0 part  
  ??sda8_crypt           253:2    0  43.9G  0 crypt 
    ??vgpersonal-home    253:3    0    83G  0 lvm   
Run Code Online (Sandbox Code Playgroud)