【 lsblk 】コマンド――ブロックデバイスを一覧表示するLinux基本コマンドTips(180)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、現在利用できるHDDやUSBメモリなどのブロックデバイスを一覧表示する「lsblk」コマンドです。

» 2018年02月02日 05時00分 公開
[西村めぐみ@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、現在利用できるHDDやUSBメモリなどのブロックデバイスを一覧表示する「lsblk」コマンドです。

lsblkコマンドとは?

 「lsblk」(list block devices)は、現在利用できるブロックデバイスを一覧表示するコマンドです ※1。

 各ブロックデバイスをツリー状に表示するので、パーティションの状態を視覚的に把握でき、ストレージの構成やデバイス番号を確認したいときに役立ちます。

※1 LinuxではHDDやモデムなどの装置を、/dev/sdaのようなデバイスファイルとして管理している。デバイスファイルのうち、アクセス時に文字単位ではなく、ブロック単位でデータを転送するものを「ブロックデバイス」と呼ぶ。HDDやCD-ROMなどがブロックデバイスだ。「ls -al /dev」を実行したとき、ブロックデバイスは先頭に「b」と表示される。





lsblkコマンドの書式

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

※[ ]は省略可能な引数を示しています。




lsblkの主なオプション(表示対象関連)

短いオプション 長いオプション 意味
-a --all 全てのブロックデバイスを表示する(-aを指定しない場合はルーブバックデバイスとRAMディスクを表示しない)
-e リスト --exclude リスト 表示から除外するブロックデバイスのメジャー番号を「,」区切りのリストで指定(トップレベルのデバイスのみ指定可能)
-I リスト --include リスト 表示するブロックデバイスのメジャー番号を「,」区切りのリストで指定(トップレベルのブロックデバイスのみ指定可能) ※2
-d --nodeps ホルダーデバイスやスレーブデバイスを表示しない(例えば/dev/sdaの場合、/dev/sda1などは表示しない)
-S --scsi SCSIデバイスの情報だけを表示する(パーティションの情報やスレーブデバイスおよびホルダーデバイスを表示しなくなる) ※2

※2 Ubuntu 14.04 LTSの初期状態では、ーI(--include)-S(--scsi)、-p(--paths)、-s(--inverse)は利用できない。



lsblkの主なオプション(表示方法や表示項目関連)

短いオプション 長いオプション 意味
-l --list ツリーではなくリストで表示する
-i --ascii ツリーを表現する線を「-」記号や「|」記号などの文字で表示する
-n --noheadings ヘッダ行を表示しない
-P --pairs 各項目を「識別子="値"」という形式で表示する
-p --paths ブロックデバイスのパスも表示する ※2
-r --raw ツリーや固定幅にフォーマットせずに出力する(スペース区切り)
-s --inverse ブロックデバイスの親子関係を逆にして表示する ※2
-o 項目リスト --output 項目リスト 表示する項目を「,」記号で区切って指定する(デフォルトの表示に情報を追加したい場合は「+項目名」で指定、使用できる項目は「--help」オプションで確認できる) ※3
-f --fs ファイルシステムの情報を表示する(「-o NAME,FSTYPE,LABEL,MOUNTPOINT」相当)
-m --perms 所有者とグループおよびパーミッションを表示する(「-o NAME,SIZE,OWNER,GROUP,MODE」相当)
-t --topology トポロジー情報を表示する(「-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED,RQ-SIZE,WSAME」相当) ※4
-D --discard SSDなどのブロックデバイスについて破棄(discard:TRIM/UMAP)に関する情報を表示する
-b --bytes サイズをバイト数で表示する

※3 Ubuntu 14.04 LTSの初期状態では、「-o」オプションで「+」指定は利用できない。
※4 同様にUbuntuでは「-o NAME,ALIGNMENT,MIN-IO,OPT-IO,PHY-SEC,LOG-SEC,ROTA,SCHED」相当になる。





ブロックデバイスをツリー状に表示する

 「lsblk」で、現在利用できるブロックデバイスをツリー状に一覧表示します(画面1)。対象を指定したい場合は「lsblk /dev/sda」のようにします。デフォルトで表示する項目は以下の通りです。

項目 意味
NAME ブロックデバイス名
MAJ:MIN メジャー番号とマイナー番号
RM リムーバブルデバイス(1=リムーバブル)
SIZE サイズ(-bオプションでバイト数の表示になる)
RO リードオンリーデバイス(1=リードオンリー)
TYPE ブロックデバイスの種類
MOUNTPOINT マウントポイント

コマンド実行例

lsblk

(現在利用できるブロックデバイスをツリー状に表示する)(画面1

lsblk /dev/sda

(/dev/sdaだけを表示する)


画面1 画面1 ブロックデバイスの構成を表示したところ


表示する項目を変更する

 表示項目を「-o」オプションで変更できます。例えば、ブロックデバイス名とサイズだけを表示したい場合は「lsblk -o NAME,SIZE」のように指定します(画面2)。

 ファイルシステムを表示したい場合は「FSTYPE」を使い、「lsblk -o NAME,TYPE,FSTYPE,SIZE,MOUNTPOINT」のように指定します。現在の表示にFSTYPEを追加するだけなら「lsblk -o +FSTYPE」とします。どのような項目が指定できるのか、「lsblk --help」で確認できます。

 なお、ファイルシステム関係の情報を中心に表示する「-f」(--fs)オプションや、所有者やパーミッションを表示する「-m」(--perms)オプションもあります。

コマンド実行例

lsblk -o NAME,SIZE

(名前とサイズだけを表示する)(画面2の1番目のコマンドライン)

lsblk -f

(ファイルシステムの情報を表示する)

lsblk -m

(所有者やパーミッションを表示する)(画面2の2番目のコマンドライン)


画面2 画面2 表示項目を変えるよう指定したところ(その1)


ブロックデバイスをパス付きで表示する

 「-p」オプションで、/dev/sda1のようにブロックデバイスをフルパスで表示できます(画面3)。この場合は、ツリー状ではなく「-l」オプションを使い、リスト形式で表示した方が見やすくなるかもしれません。

コマンド実行例

lsblk -p

(ブロックデバイスをパス付きで表示する)(画面3の1番目のコマンドライン)

lsblk -p -l

(ブロックデバイスをパス付きで、リスト形式で表示する)

lsblk -p -l -o SIZE,NAME

(同様にサイズと名前だけを表示する)(画面3の2番目のコマンドライン)


画面3 画面3 表示項目を変えるよう指定したところ(その2)


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『Accessではじめるデータベース超入門[改訂2版]』『macOSコマンド入門』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。