Lsblk

如何在 lsblk 中僅輸出開發人員名稱和類型?

  • May 25, 2020

我打算獲取所有分區及其相應類型的列表,但以正確的樹順序排列。

這就是我得到的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 個空格。

這應該這樣做:

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

如果您不能要求lsblk根據需要格式化輸出,您可以通過管道傳輸並更改它。

例如,如果選項卡非常重要:

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

引用自:https://unix.stackexchange.com/questions/588735