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

以下は、私のシステムでこのコマンドが生成した出力です:

lsblkコマンドの使い方

最初の列にはデバイス名がリストされ、その後に対応するメジャーおよびマイナーデバイス番号、デバイスが取り外し可能かどうか(取り外し可能な場合は1)、デバイスのサイズ、デバイスが読み取り専用かどうか、デバイスタイプ(ディスク、パーティションなど)、最後にデバイスのマウントポイント(利用可能な場合)が続きます。

Q2. lsblkが空のデバイスも表示するようにするには?

デフォルトでは、lsblkコマンドは空でないデバイスのみを表示します。しかし、ツールに空のデバイスも表示させることができます。そのためには、-aコマンドラインオプションを使用します。

lsblk -a

例えば、私の場合、上記のコマンドは次の出力を生成しました:

lsblkが空のデバイスも表示するようにする

「loop 13」行がこの場合の新しい追加です。

Q3. lsblkがサイズ情報をバイト単位で表示するようにするには?

デフォルトでは、lsblkは人間が読みやすい形式でサイズ情報を表示します。これは良いことですが、サイズをバイト単位で必要とする場合があります。良いことに、これを行うオプション(-b)があります。

lsblk -b

以下は例の出力です:

lsblkがサイズ情報をバイト単位で表示するようにする

これで「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 none

Q5. 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

以下は、私のケースで上記のコマンドが生成した出力です:

lsblkがデバイスの所有者、グループ、およびモードに関する情報を表示するようにする

Q8. lsblkが選択した列を出力するようにするには?

必要に応じて、lsblkに選択した列のみを出力させることもできます。これは、-oコマンドラインオプションを使用して行うことができます(表示したい列のカンマ区切りリストを渡す必要があります)。

例えば:

lsblk -o NAME,SIZE

上記のコマンドは次の出力を生成しました:

lsblkが選択した列を出力するようにする

結論

Linuxの作業がブロックデバイスに関連する情報にアクセスすることを含む場合、lsblkは知っておくべきコマンドです。このチュートリアルでは、このツールが提供するいくつかのコマンドラインオプションについて説明しました。lsblkについてもっと知りたい場合は、そのmanページにアクセスしてください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。