はじめに

こんにちは!今回はlsblkコマンドについて解説します。

lsblkはブロックデバイス(ディスク、パーティションなど)の情報をツリー形式で表示するコマンドです。fdisk -lparted -lと比べると、格段に見やすい表示が特徴ですね。

ディスクやパーティション、マウント情報をサッと確認したいときに、めっちゃ便利です!

lsblkコマンドとは

lsblkは、システムに接続されているブロックデバイス(ディスク、パーティション、ループバイスなど)の情報をツリー形式で表示する外部コマンドです。“list block devices"の略ですね。

自動的にディスク→パーティション→マウントポイントという親子関係を表示するので、ディスク構成が一目瞭然。最新のLinuxディストリビューションにはデフォルトで含まれている実用的なコマンドです。

基本構文

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

オプションやデバイス名を指定しないと、すべてのブロックデバイスを表示します。

主なオプション

オプション 説明
-a すべてのデバイスを表示(空のものも)
-d デバイスのみ表示(パーティション非表示)
-f ファイルシステムのタイプを表示
-o 表示カラムを指定
-p パス形式で表示
-t タイプで絞り込み
-J JSON形式で出力

使用例

例1: すべてのブロックデバイスを表示

1
lsblk

実行結果:

1
2
3
4
5
6
7
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  100G  0 disk
├─sda1   8:1    0    1G  0 part /boot
└─sda2   8:2    0   99G  0 part /
sdb      8:16   0  500G  0 disk
└─sdb1   8:17   0  500G  0 part /mnt/data
sr0     11:0    1 1024M  0 rom

デフォルト表示。ツリー形式でディスク構成が表示されます。

例2: ファイルシステムの情報を含める

1
lsblk -f

実行結果:

1
2
3
4
5
6
7
NAME   FSTYPE FSVER LABEL UUID                                 MOUNTPOINT
sda
├─sda1 ext4   1.0         a1b2c3d4-e5f6-7890-abcd-ef1234567890 /boot
└─sda2 ext4   1.0         b2c3d4e5-f6a7-8901-bcde-f12345678901 /
sdb
└─sdb1 ext4   1.0         c3d4e5f6-a7b8-9012-cdef-123456789012 /mnt/data
sr0    iso9660 9660

各パーティションのファイルシステムタイプやUUIDを表示します。

例3: 特定のデバイス情報を確認

1
lsblk /dev/sda

実行結果:

1
2
3
4
NAME   MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda      8:0    0 100G  0 disk
├─sda1   8:1    0   1G  0 part /boot
└─sda2   8:2    0  99G  0 part /

特定のデバイス(/dev/sda)の情報のみを表示します。

例4: デバイスのみを表示(パーティション非表示)

1
lsblk -d

実行結果:

1
2
3
4
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda    8:0    0  100G  0 disk
sdb    8:16   0  500G  0 disk
sr0   11:0    1 1024M  0 rom

ディスク単位での表示。パーティションは非表示。

例5: JSON形式で出力

1
lsblk -J

実行結果:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
  "blockdevices": [
    {
      "name": "sda",
      "maj:min": "8:0",
      "rm": false,
      "size": "100G",
      "ro": false,
      "type": "disk",
      "mountpoint": null,
      "children": [
        {
          "name": "sda1",
          "maj:min": "8:1",
          "size": "1G",
          "type": "part",
          "mountpoint": "/boot"
        }
      ]
    }
  ]
}

JSON形式で出力。スクリプトで処理するのに便利。

例6: パス形式で表示

1
lsblk -p

実行結果:

1
2
3
4
5
6
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/sda      8:0    0  100G  0 disk
├─/dev/sda1   8:1    0    1G  0 part /boot
└─/dev/sda2   8:2    0   99G  0 part /
/dev/sdb      8:16   0  500G  0 disk
└─/dev/sdb1   8:17   0  500G  0 part /mnt/data

デバイス名をフルパス形式(/dev/…)で表示。

例7: 表示カラムを指定

1
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT

実行結果:

1
2
3
4
5
6
NAME   SIZE FSTYPE MOUNTPOINT
sda    100G
├─sda1   1G ext4   /boot
└─sda2  99G ext4   /
sdb    500G
└─sdb1 500G ext4   /mnt/data

表示するカラムを指定できます。-oで必要な情報のみ抽出。

例8: マウント情報を詳しく表示

1
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE

実行結果:

1
2
3
4
5
6
NAME   SIZE TYPE MOUNTPOINT FSTYPE
sda    100G disk
├─sda1   1G part /boot      ext4
└─sda2  99G part /          ext4
sdb    500G disk
└─sdb1 500G part /mnt/data  ext4

マウントポイントとファイルシステムを同時に確認。

例9: UUID情報を表示

1
lsblk -o NAME,UUID,MOUNTPOINT

実行結果:

1
2
3
4
5
6
NAME   UUID                                 MOUNTPOINT
sda
├─sda1 a1b2c3d4-e5f6-7890-abcd-ef1234567890 /boot
└─sda2 b2c3d4e5-f6a7-8901-bcde-f12345678901 /
sdb
└─sdb1 c3d4e5f6-a7b8-9012-cdef-123456789012 /mnt/data

各パーティションのUUIDを表示。fstabで使う値が確認できます。

例10: ディスク容量を詳しく確認

1
lsblk -o NAME,SIZE,USED,AVAIL,USE%,MOUNTPOINT

実行結果:

1
2
3
4
5
NAME   SIZE USED AVAIL USE% MOUNTPOINT
sda    100G  45G   55G  45%
├─sda1   1G 500M  500M  50% /boot
└─sda2  99G  45G   54G  45% /
sdb    500G 250G  250G  50% /mnt/data

使用容量と空き容量も表示。

Tips・注意点

lsblk vs fdisk vs parted

1
2
3
4
5
6
7
8
# シンプルで見やすい(最初に確認するならこれ)
lsblk

# 詳細情報(パーティション編集時)
sudo fdisk -l

# GPT形式対応(大容量ディスク)
sudo parted -l

ディスク構成の確認にはlsblkが便利。編集にはfdiskやpartedを使います。

マウント情報を素早く確認

1
lsblk -o NAME,MOUNTPOINT,FSTYPE

マウント状況を一目で確認できます。

スクリプトではJSON出力を活用

1
lsblk -J | jq '.blockdevices[] | select(.type=="disk") | .name'

JSON出力をjqで処理。スクリプト化に最適。

fstabの編集前に確認

1
lsblk -o NAME,UUID,FSTYPE

UUID確認。/etc/fstabを編集する前にUUIDをメモしておきましょう。

実践的な使い方

ディスク容量の把握

1
lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT

全体的なディスク構成と容量を把握するのに最適。

新しいディスクが認識されたか確認

1
lsblk

新しいディスクを接続した後、すぐに確認できます。

マウントされていないパーティションを探す

1
lsblk -f | grep -v MOUNTPOINT | grep -v "^$"

マウントされていないパーティションが一目瞭然。

ファイルシステムの状態を一覧表示

1
lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

各パーティションのファイルシステムタイプを確認。

まとめ

lsblkコマンドのポイント:

  • ブロックデバイス情報を見やすく表示
  • デフォルト: ツリー形式で親子関係を自動表示
  • -f: ファイルシステム情報を含める
  • -d: デバイスのみ表示
  • -J: JSON形式で出力(スクリプト向け)
  • -o: 表示カラムを指定
  • -p: パス形式で表示
  • よく使う組み合わせ: lsblk, lsblk -f

ディスク構成の確認がめっちゃ簡単になります。fdisk -lより圧倒的に見やすいので、最初の確認にはlsblkが強い味方ですよ!