Linux lsblk コマンド
1. 基本概念
lsblklsblk は Linux システムにおける実用的なコマンドで、システム内のすべての利用可能なブロックデバイス情報を一覧表示するために使用されます。ブロックデバイスとは、ブロック単位でデータの読み書きを行うストレージデバイスであり、ハードディスク、SSD、USBメモリなどがあります。
1.1 コマンド名の意味
lsls:list の略で、「一覧表示」を意味しますblkblk:block の略で、ブロックデバイスを意味します- 組み合わせると「ブロックデバイスを一覧表示する」という意味になります
1.2 主な機能
- すべてのブロックデバイスのツリー構造を表示する
- デバイスの基本情報(名前、サイズ、タイプなど)を表示する
- デバイスのパーティション状況を表示する
- デバイスのマウントポイント情報を表示する
2. コマンド構文
lsblk [选项] [设备...]
2.1 パラメータの説明
- パラメータを何も指定しない場合、
lsblkすべてのブロックデバイスが一覧表示されます - 1つまたは複数のデバイス名をパラメータとして指定すると、これらのデバイスの情報のみが表示されます
2.2 よく使うオプション
| オプション | 説明 |
|---|---|
-a |
すべてのデバイスを表示する(空のデバイスを含む) |
-b |
デバイスのサイズをバイト単位で表示する |
-d |
デバイス自体のみを表示し、パーティションは表示しない |
-e |
指定したメジャー番号のデバイスを除外する |
-f |
ファイルシステム情報を表示する |
-i |
ASCII 文字を使用してツリー構造を表示する |
-J |
JSON 形式で出力する |
-l |
リスト形式で出力する(ツリー形式ではない) |
-m |
デバイスの所有者情報と権限を表示する |
-n |
見出し行を表示しない |
-o |
表示する列を指定する |
-P |
キーと値のペア形式で出力する |
-r |
raw 形式で出力する |
-S |
SCSI デバイスのみを表示する |
-t |
デバイスのトポロジ情報を表示する |
-x |
指定した列で並べ替える |
3. 出力フィールドの説明
デフォルトでは、lsblkコマンドは以下の列を表示します:
| 列名 | 説明 |
|---|---|
| NAME | デバイス名 |
| MAJ:MIN | メジャー番号とマイナー番号 |
| RM | リムーバブルデバイスかどうか(1 ははい、0 はいいえ) |
| SIZE | デバイスのサイズ |
| RO | 読み取り専用デバイスかどうか(1 ははい、0 はいいえ) |
| TYPE | デバイスタイプ(disk、part、rom など) |
| MOUNTPOINT | デバイスのマウントポイント |
4. 実用的な例
4.1 基本的な使い方:すべてのブロックデバイスを一覧表示
例
lsblk
出力例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 732M 0 part /boot
└─sda3 8:3 0 237.3G 0 part
└─sda3_crypt
253:0 0 237.3G 0 crypt
├─vgubuntu-root
│ 253:1 0 236.3G 0 lvm /
└─vgubuntu-swap_1
253:2 0 976M 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom
4.2 ファイルシステム情報を表示
例
lsblk -f
出力例:
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 vfat 67E3-17ED /boot/efi
├─sda2 ext4 5b3e5a5e-2a9d-4a3e-9b1e-1e1e1e1e1e1e /boot
└─sda3 crypto_LUKS 6c3e5a5e-3a9d-5b3e-9b1e-2e2e2e2e2e2e
└─sda3_crypt LVM2_member
├─vgubuntu-root
│ ext4 7d3e5a5e-4a9d-6c3e-9b1e-3e3e3e3e3e3e /
└─vgubuntu-swap_1
swap 8e3e5a5e-5a9d-7d3e-9b1e-4e4e4e4e4e4e [SWAP]
4.3 出力列をカスタマイズ
例
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,FSTYPE
4.4 リスト形式で表示
例
lsblk -l
4.5 デバイスの所有者情報を表示
例
lsblk -m
4.6 ディスクデバイスのみを表示(パーティションを表示しない)
例
lsblk -d
4.7 JSON 形式で出力
例
lsblk -J
5. 実際の適用シーン
5.1 新しく挿入したUSBメモリや外付けハードディスクを確認する
例
# USBメモリを挿入する前に実行
lsblk > before.txt
# USBメモリを挿入した後に実行
lsblk > after.txt
# 差分を比較
diff before.txt after.txt
lsblk > before.txt
# USBメモリを挿入した後に実行
lsblk > after.txt
# 差分を比較
diff before.txt after.txt
5.2 マウントされていないパーティションを探す
例
lsblk -f | grep -v "MOUNTPOINT" | grep -v "FSTYPE"
5.3 デバイスの物理トポロジ構造を確認する
例
lsblk -t
5.4 デバイスの変化を監視する
例
watch -n 1 lsblk
6. よくある質問と回答
6.1 lsblk と df コマンドの違いは何ですか?
lsblklsblk はブロックデバイスとそのパーティション構造を表示しますdfdf はマウント済みファイルシステムのディスク容量使用状況を表示しますlsblklsblk はデバイスの物理構造の確認に適しており、dfdf はディスク容量の使用状況の確認に適しています
6.2 一部のデバイスにサイズが表示されないのはなぜですか?
これらのデバイスには有効なパーティションテーブルがないか、システムに認識されていない可能性があります。試しに-aオプションを使用して、すべてのデバイスを表示してみてください。
6.3 特定のタイプのデバイスだけを表示するにはどうすればよいですか?
例
# ディスクのみを表示
lsblk -d -o NAME,RO,TYPE,SIZE,MOUNTPOINT | grep disk
# パーティションのみを表示
lsblk -o NAME,RO,TYPE,SIZE,MOUNTPOINT | grep part
lsblk -d -o NAME,RO,TYPE,SIZE,MOUNTPOINT | grep disk
# パーティションのみを表示
lsblk -o NAME,RO,TYPE,SIZE,MOUNTPOINT | grep part
7. まとめ
lsblklsblk は Linux システム管理者とユーザーにとって必須のディスク管理ツールであり、ブロックデバイスとそのパーティションの関係を直感的なツリービューで表示します。さまざまなオプションの組み合わせにより、詳細なデバイス情報を取得でき、ディスク管理、トラブルシューティング、システムメンテナンスに非常に役立ちます。
よく使うオプションを覚えておきましょう:
-fファイルシステム情報を表示-o出力列をカスタマイズ-JJSON 形式の出力を取得-m権限情報を表示
習得しましょうlsblklsblk コマンドを習得すると、Linux システム内のストレージデバイスをより効率的に管理できます。