lsblkは常にディスクを昇順にリストしますか?

lsblkは常にディスクを昇順にリストしますか?

lsblkディスクは常に昇順(各デバイス文字ごとに1ずつ増加)としてリストされ、ソートされますか?

たとえば、

lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdb
sdc
sdd
sde
sdf
sdg
sdh
sdi
sdj
sdk

次の例のような結果を得たくありません。

順序付けされていないディスクリストの例(編集された例の出力)

lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdb
sdc
sdd
sde
sdi
sdj
sdk
sdf
sdg
sdh

sdd代わりに起動するディスクの例sdb(たとえば、再編集)

lsblk | awk '{print $1}'
NAME
fd0
sda
├─sda1
└─sda2
├─vg00-lv_root
├─vg00-lv_swap
└─vg00-lv_var
sdd
sde
sdf
sdg
sdh
sdi
sdj
sdk
sdl
sdm

ベストアンサー1

lsblk(1)マニュアルページから:

基本出力はもちろん、などのオプションのデフォルト出力も変更される可能性--fsがあります--topology。したがって、可能であれば、スクリプトでデフォルト出力を使用しないことをお勧めします。--output columns-list予想される列を明示的に定義するには、安定した出力が必要な環境で常に使用してください。

出力を並べ替える必要がある場合は、-o出力列と列の並べ替え-xオプションを使用することをお勧めします。lsblk --help列名のリストを取得します。

たとえば、

lsblk -o NAME -x NAME

おすすめ記事