コマンドラインのマニュアル

Man » lsblk マニュアルオンライン - lsblk マニュアルページの詳細なオンラインドキュメント

🌍
lsblk - ブロックデバイスを一覧表示

概要

lsblk [オプション] [デバイス...]

説明

lsblk は、利用可能なすべてのブロックデバイス、または指定されたブロックデバイスに関する情報を一覧表示します。lsblk コマンドは、sysfs ファイルシステムと udev データベースを読み取って情報を収集します。udev データベースが利用できない場合、または udev サポートでコンパイルされていない場合、lsblk はブロックデバイスからラベル、UUID、およびファイルシステムタイプを読み取ろうとします。この場合、root 権限が必要です。

デフォルトでは、コマンドは、すべてのブロックデバイス(RAM ディスクを除く)をツリー形式で表示します。同じデバイスが、他のデバイスに関連している場合は、ツリー内に複数回表示されることがあります。より複雑な構成の場合は、--merge オプションを使用して、デバイスのグループを収集し、複雑な N:M の関係を説明することをお勧めします。

ツリー形式の出力(または JSON 出力の children[] 配列)は、出力に NAME 列が存在する場合、または --tree コマンドラインオプションが使用された場合にのみ有効になります。--nodeps および --list オプションを使用して、ツリーのフォーマットを制御することもできます。

デフォルトの出力、および --fs や --topology などのオプションからのデフォルトの出力は、変更される可能性があります。そのため、可能な限り、スクリプトで使用する場合は、--output columns-list と --list を使用して、期待される列を明示的に定義することをお勧めします。

lsblk --list-columns を使用すると、利用可能なすべての列のリストを取得できます。

lsblk は、udev が最近追加または変更されたデバイスに関するすべての情報をまだ持っていないタイミングで実行される場合があります。この場合、lsblk の前に udevadm settle を使用して udev と同期することをお勧めします。

ブロックデバイスとファイルシステムの関係は、必ずしも 1 対 1 ではありません。ファイルシステムは、複数のブロックデバイスを使用する場合があります。または、同じファイルシステムが複数のパスからアクセスできる場合があります。このため、lsblk は MOUNTPOINT と MOUNTPOINTS (複数) 列を提供します。MOUNTPOINT 列には、ファイルシステムのマウントポイントのうち 1 つだけ(通常は、ファイルシステムの最後にマウントされたインスタンス)が表示され、MOUNTPOINTS 列には、デバイスに関連付けられているすべてのマウントポイントが複数行のセルに表示されます。

オプション

-A, --noempty

空のデバイスを表示しない。

-a, --all

すべての組み込みフィルターを無効にし、すべての空のデバイスと RAM ディスクデバイスも表示する。

-b, --bytes

サイズを人間が読める形式ではなく、バイトで表示する。

デフォルトでは、サイズの単位はバイトで、単位の接頭辞は 2^10 の累乗 (1024) です。 略語の記号は、より読みやすくするために、最初の一文字のみを表示して短縮されます。例: "1 KiB" および "1 MiB" はそれぞれ "1 K" および "1 M" として表示され、"iB" はこれらの略語の一部であるため、意図的に省略されます。


-H, --list-columns
利用可能な列をリスト表示します。`--json`または`--raw`と組み合わせて使用​​すると、機械可読形式で出力できます。

-D, --discard
各デバイスの破棄機能(TRIM、UNMAP)に関する情報を表示します。

-d, --nodeps
ホルダーデバイスまたはスレーブを表示しません。たとえば、`lsblk --nodeps /dev/sda`は、sdaデバイスに関する情報のみを表示します。

-E, --dedup column
指定された列を重複排除キーとして使用し、出力ツリーの重複を排除します。キーがデバイスで利用できない場合、またはデバイスがパーティションであり、親の完全ディスクデバイスがデバイスと同じキーを提供する場合、デバイスは常に表示されます。

通常の使用例は、マルチパスデバイスを持つシステムでの出力の重複排除です。たとえば、`-E WWN`を使用します。

-e, --exclude list
カンマで区切られたメジャーデバイス番号のリストで指定されたデバイスを除外します。RAMディスク(メジャー=1)は、`--all`が指定されていない場合、デフォルトで除外されます。フィルターは、最上位レベルのデバイスにのみ適用されます。これは、`--list`出力形式の場合、デバイスの階層が明確でないため、混乱を招く可能性があります。

-f, --fs
ファイルシステムに関する情報を出力します。このオプションは、`-o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSE%,MOUNTPOINTS`と同等です。ファイルシステムとRAIDに関する信頼性の高い情報は、`blkid(8)`コマンドによって提供されます。

--hyperlink[=mode]
マウントポイントのパスをターミナルハイパーリンクとして表示します。モードは、"always"、"never"、または"auto"に設定できます。オプションの引数は、"auto"、"never"、または"always"に設定できます。引数が省略された場合、デフォルトは"auto"になります。 "auto"設定の場合、ハイパーリンクはターミナルに出力された場合にのみ使用されます。

-I, --include list
カンマで区切られたメジャーデバイス番号のリストで指定されたデバイスを含めます。フィルターは、最上位レベルのデバイスにのみ適用されます。これは、`--list`出力形式の場合、デバイスの階層が明確でないため、混乱を招く可能性があります。

-i, --ascii
ASCII文字を使用してツリー形式を設定します。

-J, --json
JSON出力形式を使用します。`--output`および必要に応じて`--tree`を使用することを強くお勧めします。 `children[]`は、`NAME`列または`--tree`が使用された場合にのみ使用されます。

-l, --list
リスト形式で出力します。出力は、デバイス間の関係に関する情報を提供しません。バージョン2.34以降、すべてのデバイスは、`--pairs`または`--raw`が指定されていない限り、1回だけ表示されます(解析可能な出力は、下位互換性を維持します)。

-M, --merge
サブツリーの親をグループ化して、RAIDおよびマルチパスデバイスのより読みやすい出力を提供します。ツリー形式の出力が必要です。

-m, --perms
デバイスの所有者、グループ、およびモードに関する情報を出力します。このオプションは、`-o NAME,SIZE,OWNER,GROUP,MODE`と同等です。

-N, --nvme
NVMeデバイスに関する情報のみを出力します。

-v, --virtio
virtioデバイスに関する情報のみを出力します。

-n, --noheadings
ヘッダー行を表示しません。

-o, --output list
出力する列を指定します。`--list-columns`を使用して、すべてのサポートされている列のリストを取得します。列は、ツリー形式の出力に影響を与える可能性があります。デフォルトでは、`NAME`列(`--tree`も参照)を使用します。

^ sblk

デフォルトの列リストは、+list の形式でリストを指定することで拡張できます(例:lsblk -o +UUID)。

^ O, --output-all 利用可能なすべての列を出力します。

^ P, --pairs ^ ey="value" の形式で出力を生成します。出力行は依存関係に従って順序付けられます。すべての潜在的に安全でない値の文字は、16進数でエスケープされます(\x<コード>)。--shell オプションも参照してください。

^ p, --paths 完全なデバイスパスを出力します。

^ Q, --filter expr ^ xpr で指定された条件を満たすデバイスのみを出力します。フィルターは、lsblk がすべての出力列のデータを収集する前に評価されます。必要なデータのみをシステムから取得して、式の遅延評価を行います。このアプローチは、grep などのツールで一般的に使用される後処理によるフィルタリングと比較して、パフォーマンスを向上させることができます。

この機能は EXPERIMENTAL です。scols-filter(5) も参照してください。たとえば、sdasdb を除外し、それ以外はすべて出力するには(!~ は負の正規表現マッチング演算子です):

^ sblk --filter 'NAME !~ "sd[ab]"

^ -highlight expr 式に一致する行に色を付けます。この機能は EXPERIMENTAL です。scols-filter(5) も参照してください。

^ -ct name [: param [: function ]] カスタムカウンターを定義します。カウンターは、標準出力の後に表示されます。name はカスタムカウンターの名前、オプションの param はカウンターに使用する列の名前、オプションの function はサポートされている集計関数(countminmax、または sum)です。デフォルトは count です。

^ aram が指定されていない場合、カウンターは行数をカウントします。この機能は EXPERIMENTAL です。--ct-filter も参照してください。

たとえば、--ct MyCounter:SIZE:sum は、すべての行から SIZE の集計をカウントします。SATA ディスクの数をカウントするには、次のように使用できます。

^ sblk --ct-filter 'TYPE=="disk" && TRAN=="sata"' --ct "Number of SATA devices"

^ -ct-filter expr 次のカウンターの制限を定義します。この機能は EXPERIMENTAL です。--ct および scols-filter(5) も参照してください。たとえば、デバイスタイプごとにサイズを集計するには:

^ sblk --ct-filter 'TYPE=="part"' --ct Partitions:SIZE:sum \ --ct-filter 'TYPE=="disk"' --ct WholeDisks:SIZE:sum

^ r, --raw 生の形式で出力します。出力行は、依存関係に従って順序付けられます。NAMEKNAMELABELPARTLABEL、および MOUNTPOINT 列のすべての潜在的に安全でない文字は、16進数でエスケープされます。

^ S, --scsi SCSI デバイスに関する情報のみを出力します。すべてのパーティション、スレーブ、およびホルダーデバイスは無視されます。

^ s, --inverse 依存関係を逆の順序で出力します。--list 出力が要求された場合、行は依然として依存関係に従って順序付けられます。

^ T, --tree[=column] ツリーのような出力形式を強制します。column が指定された場合、指定された列でツリーが出力されます。デフォルトは NAME 列です。

^ t, --topology ブロックデバイスのトポロジーに関する情報を出力します。このオプションは、次のオプションと同等です。


-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,RA,WSAME。

-w, --width number

出力幅を文字数で指定します。デフォルトはターミナルの列数で、ターミナルで実行されない場合は、デフォルトで出力幅は制限されません。このオプションは、lsblkがターミナル制御文字と安全でない文字が許可されていないと想定するように強制します。たとえば、lsblkがwatch(1)コマンドで使用される場合が想定される使用例です。

-x, --sort column

出力行を列でソートします。このオプションは、--list出力形式をデフォルトで有効にします。--treeオプションを使用してツリー状の出力を強制し、次にツリーのブランチを列でソートすることもできます。

-y, --shell

列名は、シェル変数識別子で許可されている文字のみを含むように変更されます。たとえば、MIN_IOとFSUSE_PCTになります(MIN-IOとFSUSE%ではありません)。これは、たとえば--pairsオプションで使用できます。この機能はバージョン2.37で--pairsオプションに対して自動的に有効になりましたが、互換性の問題により、現在は--shellオプションを使用してこの動作を要求する必要があります。

-z, --zoned

各デバイスのゾーン関連情報を出力します。

--sysroot directory

lsblkコマンドが発行されたインスタンスとは異なるLinuxインスタンスのデータを収集します。指定されたディレクトリは、検査するLinuxインスタンスのシステムルートです。ターゲットディレクトリ内の実際のデバイスノードは、udev属性を含むテキストファイルに置き換えることができます。

--properties-by list

このオプションは、lsblkがファイルシステムとパーティションテーブルに関する情報を収集するために使用する方法を指定します。リストは、カンマで区切られたメソッド名のリストです。デフォルト設定は、"file,udev,blkid"です。サポートされているメソッドは次のとおりです。

udev

udev DBからデータを読み取ります。成功しない場合、次のプローブメソッドに進みます。

blkid

libblkidを使用してデバイスから直接データを読み取ります。成功しない場合、次のプローブメソッドに進みます。

file

ファイルからデータを読み取ります。このメソッドは、--sysrootオプションが指定された場合にのみ使用されます。このメソッドは、使用すると常にプローブを停止します。

none

プローブしません。このメソッドは、使用すると常にプローブを停止します。

-h, --help

ヘルプテキストを表示して終了します。

-V, --version

バージョンを表示して終了します。

終了ステータス

0   成功

1   失敗

32  指定されたデバイスが見つからない

64  指定されたデバイスの一部が見つかり、一部が見つからない

環境

LSBLK_DEBUG=all
lsblkのデバッグ出力を有効にします。

LIBBLKID_DEBUG=all
libblkidのデバッグ出力を有効にします。

LIBMOUNT_DEBUG=all
libmountのデバッグ出力を有効にします。

LIBSMARTCOLS_DEBUG=all
libsmartcolsのデバッグ出力を有効にします。

LIBSMARTCOLS_DEBUG_PADDING=on
表示可能なパディング文字を使用します。

注意事項

パーティションの場合、一部の情報(たとえば、キュー属性)は親デバイスから継承されます。

lsblkコマンドは、各ブロックデバイスをメジャー:マイナー番号で参照できる必要があり、これは/sys/dev/blockを使用して行われます。このsysfsブロックディレクトリは、カーネル2.6.27(2008年10月)に登場しました。新しいカーネルで問題が発生した場合は、カーネルのビルド時にCONFIG_SYSFSが有効になっていたことを確認してください。


著者

ミラン・ブロズ <__>, カレル・ザク <__>

関連項目

blkid(8), findmnt(8), ls(1), scols-filter(5)

バグ報告

バグ報告には、[https://github.com/util-linux/util-linux/issues] の問題追跡システムを使用してください。

入手方法

lsblk コマンドは、util-linux パッケージの一部であり、Linux Kernel Archive [https://www.kernel.org/pub/linux/utils/util-linux/] からダウンロードできます。