lsblk에서 개발 이름과 유형만 출력하는 방법은 무엇입니까?

lsblk에서 개발 이름과 유형만 출력하는 방법은 무엇입니까?

모든 파티션과 해당 유형의 목록을 얻으려고 하지만 올바른 트리 순서로 되어 있습니다.

이게 내가 얻은 거야lsblk -o NAME,TYPE -i

sda             disk
|-sda1          part
|-sda2          part
|-sda3          part
| |-2cl-root    lvm
| |-2cl-swap    lvm
| |-2cl-home    lvm
| |-2cl-data2   lvm
| `-2cl-data4   lvm
|-sda4          part
| |-1cl00-data3 lvm
|   |-asf1      lvm
|   `-asf2      lvm  
`-sda5          part
sdb             disk
`-sdb1          part
  `-md126       raid1
sdc             disk
`-sdc1          part
  `-md126       raid1
sdd             disk
`-sdd1          part
  `-md127       raid0
    `-3-data6   lvm
sde             disk
`-sde1          part
  `-md127       raid0
    `-3-data6   lvm
sr0             rom

하지만 이렇게 표시하고 싶습니다.

sda             disk
sda1            part
sda2            part
sda3            part
2cl-root        lvm
2cl-swap        lvm
2cl-home        lvm
2cl-data2       lvm
2cl-data4       lvm
sda4            part
1cl00-data3     lvm
asf1            lvm
asf2            lvm  
sda5            part
sdb             disk
sdb1            part
md126           raid1
sdc             disk
sdc1            part
md126           raid1
sdd             disk
sdd1            part
md127           raid0
3-data6         lvm
sde             disk
sde1            part
md127           raid0
3-data6         lvm
sr0             rom

옵션을 시도했지만 -s -l결과는 더욱 이상해졌습니다. 형식을 올바르게 지정하면서도 올바른 트리 순서를 얻으려면 어떻게 해야 합니까? 이름과 유형 사이에 공백이 1개만 있어도 상관 없습니다.

답변1

이렇게 하면 트릭을 수행할 수 있습니다.

lsblk -o NAME,TYPE -n -i -r

원하는 방식으로 출력 형식을 지정할 수 없는 경우 lsblk파이프를 통해 변경할 수 있습니다.

예를 들어 탭이 정말 중요한 경우:

lsblk -o NAME,TYPE -n -i -r | tr ' ' '\t'

관련 정보