Linux, コマンド · 3 min read · Dec 24, 2025
初心者のためのLinux lsblkコマンドチュートリアル (8つの例)

Linuxでは、ブロックデバイスはデバイス(ハードドライブからUSBドライブまで何でも)を参照または表す特別なファイルです。したがって、ブロックデバイスに関連する作業を支援するコマンドラインツールがあります。その1つがlsblkです。
このチュートリアルでは、いくつかのわかりやすい例を使ってこのコマンドについて説明します。しかし、その前に、ここで言及されているすべての例は、Ubuntu 18.04 LTSマシンでテストされていることを言及する価値があります。
Linux lsblkコマンド
Linuxのlsblkコマンドは、ブロックデバイスをリストします。以下はその構文です:
lsblk [options] [device...]そして、ツールのmanページは次のように説明しています:
**** lsblk lists information about all available or the specified block
devices. The lsblk command reads the sysfs filesystem and udev db to
gather information. If the udev db is not available or lsblk is com?
piled without udev support than it tries to read LABELs, UUIDs and
filesystem types from the block device. In this case root permissions
are necessary.
The command prints all block devices (except RAM disks) in a tree-like
format by default. Use lsblk --help to get a list of all available
columns.
The default output, as well as the default output from options like
--fs and --topology, is subject to change. So whenever possible, you
should avoid using default outputs in your scripts. Always explicitly
define expected columns by using --output columns-list in environments
where a stable output is required.
Note that lsblk might be executed in time when udev does not have all
information about recently added or modified devices yet. In this case
it is recommended to use udevadm settle before lsblk to synchronize
with udev以下は、lsblkがどのように機能するかをよりよく理解するためのQ&Aスタイルの例です。
Q1. lsblkコマンドを使用するには?
基本的な使用法は非常に簡単です - オプションなしで「lsblk」を実行するだけです。
lsblk以下は、私のシステムでこのコマンドが生成した出力です:

最初の列にはデバイス名がリストされ、その後に対応するメジャーおよびマイナーデバイス番号、デバイスが取り外し可能かどうか(取り外し可能な場合は1)、デバイスのサイズ、デバイスが読み取り専用かどうか、デバイスタイプ(ディスク、パーティションなど)、最後にデバイスのマウントポイント(利用可能な場合)が続きます。
Q2. lsblkが空のデバイスも表示するようにするには?
デフォルトでは、lsblkコマンドは空でないデバイスのみを表示します。しかし、ツールに空のデバイスも表示させることができます。そのためには、-aコマンドラインオプションを使用します。
lsblk -a例えば、私の場合、上記のコマンドは次の出力を生成しました:

「loop 13」行がこの場合の新しい追加です。
Q3. lsblkがサイズ情報をバイト単位で表示するようにするには?
デフォルトでは、lsblkは人間が読みやすい形式でサイズ情報を表示します。これは良いことですが、サイズをバイト単位で必要とする場合があります。良いことに、これを行うオプション(-b)があります。
lsblk -b以下は例の出力です:

これで「Size」列にバイト単位のエントリが含まれていることがわかります。
Q4. lsblkが各デバイスのゾーンモデルを表示するようにするには?
これを行うには、-zコマンドラインオプションを使用します。
lsblk -z例えば、以下は私のシステムで上記のコマンドが生成した出力です:
NAME ZONED
loop0 none
loop1 none
loop2 none
loop3 none
loop4 none
loop5 none
loop6 none
loop7 none
loop8 none
loop9 none
loop10 none
loop11 none
loop12 none
sda none
??sda1 none
??sda2 none
??sda3 none
??sda4 none
??sda5 none
??sda6 none
??sda7 none
??sda8 none
sdb none
??sdb1 none
??sdb2 noneQ5. lsblkがスレーブのエントリをスキップするようにするには?
これには、-dコマンドラインオプションを使用する必要があります。これにより、lsblkはホルダーデバイスやスレーブに関連する情報を表示しないようになります。
lsblk -d以下は例の出力です:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 3.3M 1 loop /snap/gnome-system-monitor/36
loop1 7:1 0 86.6M 1 loop /snap/core/4486
loop2 7:2 0 140M 1 loop /snap/gnome-3-26-1604/59
loop3 7:3 0 21M 1 loop /snap/gnome-logs/25
loop4 7:4 0 87M 1 loop /snap/core/5145
loop5 7:5 0 1.6M 1 loop /snap/gnome-calculator/154
loop6 7:6 0 2.3M 1 loop /snap/gnome-calculator/180
loop7 7:7 0 14.5M 1 loop /snap/gnome-logs/37
loop8 7:8 0 3.7M 1 loop /snap/gnome-system-monitor/51
loop9 7:9 0 12.2M 1 loop /snap/gnome-characters/69
loop10 7:10 0 13M 1 loop /snap/gnome-characters/103
loop11 7:11 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop12 7:12 0 86.9M 1 loop /snap/core/4917
sda 8:0 0 931.5G 0 disk
sdb 8:16 1 14.7G 0 disk前のケースで生成された出力と比較すると、この場合はスレーブエントリが出力に生成されていないことがわかります。
Q6. lsblkがツリー形式でASCII文字を使用するようにするには?
デフォルトでは、lsblkが使用するツリー形式のタイプは、多くの場合ユーザーフレンドリーではありません。例えば、コピー&ペーストするとフォーマットの問題が発生する可能性があります。したがって、ツリー形式でASCII文字を使用するようにツールに強制することができます。これは、-iコマンドラインオプションを使用して行うことができます。
lsblk -i以下は例の出力です:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 3.3M 1 loop /snap/gnome-system-monitor/36
loop1 7:1 0 86.6M 1 loop /snap/core/4486
loop2 7:2 0 140M 1 loop /snap/gnome-3-26-1604/59
loop3 7:3 0 21M 1 loop /snap/gnome-logs/25
loop4 7:4 0 87M 1 loop /snap/core/5145
loop5 7:5 0 1.6M 1 loop /snap/gnome-calculator/154
loop6 7:6 0 2.3M 1 loop /snap/gnome-calculator/180
loop7 7:7 0 14.5M 1 loop /snap/gnome-logs/37
loop8 7:8 0 3.7M 1 loop /snap/gnome-system-monitor/51
loop9 7:9 0 12.2M 1 loop /snap/gnome-characters/69
loop10 7:10 0 13M 1 loop /snap/gnome-characters/103
loop11 7:11 0 140.9M 1 loop /snap/gnome-3-26-1604/70
loop12 7:12 0 86.9M 1 loop /snap/core/4917
sda 8:0 0 931.5G 0 disk
|-sda1 8:1 0 100M 0 part
|-sda2 8:2 0 52.5G 0 part
|-sda3 8:3 0 293G 0 part
|-sda4 8:4 0 1K 0 part
|-sda5 8:5 0 93.4G 0 part
|-sda6 8:6 0 293G 0 part
|-sda7 8:7 0 3.9G 0 part
`-sda8 8:8 0 195.8G 0 part /
sdb 8:16 1 14.7G 0 disk
|-sdb1 8:17 1 200M 0 part
`-sdb2 8:18 1 14.5G 0 partこれで出力(sdaエントリを参照)にツリー形式でASCII文字が含まれていることがわかります。
Q7. lsblkがデバイスの所有者、グループ、およびモードに関する情報を表示するようにするには?
これは、-mコマンドラインオプションを使用することで実現できます。
lsblk -m以下は、私のケースで上記のコマンドが生成した出力です:

Q8. lsblkが選択した列を出力するようにするには?
必要に応じて、lsblkに選択した列のみを出力させることもできます。これは、-oコマンドラインオプションを使用して行うことができます(表示したい列のカンマ区切りリストを渡す必要があります)。
例えば:
lsblk -o NAME,SIZE上記のコマンドは次の出力を生成しました:

結論
Linuxの作業がブロックデバイスに関連する情報にアクセスすることを含む場合、lsblkは知っておくべきコマンドです。このチュートリアルでは、このツールが提供するいくつかのコマンドラインオプションについて説明しました。lsblkについてもっと知りたい場合は、そのmanページにアクセスしてください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。