web-dev-qa-db-ja.com

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
5
shalom

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

デフォルトの出力、および--fs--topologyなどのオプションからのデフォルトの出力は、変更される可能性があります。したがって、可能な限り、スクリプトでデフォルトの出力を使用することは避けてください。安定した出力が必要な環境では、--output columns-listを使用して、予期される列を常に明示的に定義してください。

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

例えば:

lsblk -o NAME -x NAME
3
mjturner