lsblkコマンドの使い方を完全解説!Linuxのブロックデバイス確認とストレージ管理の基本
生徒
「Linuxを使っているときに、接続されているハードディスクやUSBメモリの中身を一覧で見たいのですが、どうすればいいですか?」
先生
「それなら、lsblk(エルエスビーエルケー)コマンドを使うのが一番便利ですよ。接続されているストレージの状態をツリー形式で分かりやすく表示してくれます。」
生徒
「lsblk…なんだか難しそうな名前ですね。初心者でも実行して大丈夫でしょうか?」
先生
「大丈夫です!このコマンドは情報を表示するだけなので、システムを壊す心配はありません。パソコンの構成を知るための第一歩として、一緒に使い方を学んでいきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. lsblkコマンドとは?読み方と基本的な意味
lsblkコマンドは、読み方はlsblk(エルエスビーエルケー)といいます。これは「List Block Devices」の略称で、Linuxシステムに認識されているブロックデバイスを一覧表示するためのツールです。
ブロックデバイス(読み方はブロックデバイス)とは、データを「ブロック」という単位で読み書きする装置のことで、主にハードディスクドライブ(HDD)やソリッドステートドライブ(SSD)、USBメモリ、光学ドライブ(CD/DVD)などがこれに該当します。
Windowsであれば「PC(マイコンピュータ)」を開くとドライブの一覧が表示されますが、LinuxのCUI(文字入力画面)環境では、このlsblkコマンドがその役割を担います。システムがどのくらいの容量のディスクを積んでいるのか、パーティションがどのように分かれているのかを一目で確認できる非常に重要なコマンドです。
2. ブロックデバイスとファイルシステムの関係を知ろう
Linuxを理解する上で、ストレージ(記憶装置)の構造を知ることは欠かせません。ストレージ装置そのものを「物理デバイス」と呼び、それを論理的に分割したものを「パーティション(読み方はパーティション)」と呼びます。
lsblkコマンドを使うと、これらの物理デバイスとパーティションの親子関係が階層構造(ツリー形式)で表示されます。たとえば、1台の大きなSSD(親)の中に、システム用とデータ用の2つのパーティション(子)がある場合、それが視覚的に繋がって表示されるため、構成が非常に理解しやすくなります。
また、各パーティションには、Linuxがデータを管理するためのルールである「ファイルシステム(読み方はファイルシステム)」が構築されます。lsblkを使えば、どのパーティションがどこに接続(マウント)されているかも確認できます。マウント(読み方はマウント)とは、デバイスをシステム上の特定のフォルダに関連付けて、中身を読み書きできるようにする操作のことです。
3. 実際にlsblkコマンドを実行してみる
まずは、オプションを何もつけずに実行してみましょう。これだけで、現在システムに接続されている主要なストレージ情報が表示されます。一般ユーザー権限で実行可能です。
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 19G 0 part /
└─sda2 8:2 0 1024M 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
表示された項目の意味は以下の通りです。
- NAME(ネーム):デバイスの名前。sdaは1番目のディスク、sda1はその中の1番目のパーティションを指します。
- MAJ:MIN(メジャー・マイナー):カーネルがデバイスを識別するための番号です。初心者はあまり気にしなくて構いません。
- RM(リムーバブル):取り外し可能かどうか。1ならUSBメモリなどの移動式、0なら固定ディスクです。
- SIZE(サイズ):デバイスの容量です。
- TYPE(タイプ):disk(物理ディスク)、part(パーティション)、rom(光学ドライブ)などの種類です。
- MOUNTPOINTS(マウントポイント):そのデバイスが現在どのディレクトリで使用されているかを示します。
4. ストレージの種類と名前のルール(sdaやnvme)
Linuxでは、デバイスごとに決まった名前が割り当てられます。歴史的な背景も含めて知っておくと、トラブルの際にも役立ちます。
昔の規格であるIDE接続のハードディスクは「hda、hdb」という名前でしたが、現在の主流であるSATA接続やUSB接続のディスクはsda、sdb、sdcという名前になります。sはSCSI(スカジー)、dはDisk(ディスク)を意味しています。
最近の高速なNVMe SSD(エヌブイエムイー・エスエスディー)の場合は、名前の法則が変わり、nvme0n1のような形式で表示されます。lsblkを実行したときに自分の環境がどちらの名前で表示されているかを確認することで、どのような種類のハードウェアが使われているかを推測できます。
5. ファイルシステムの種類を確認するオプション
各パーティションがどのような形式(ext4やxfsなど)でフォーマットされているかを知りたい場合は、-fオプションを使用します。これは管理作業を行う際に非常に便利です。
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 ext4 1.0 a1b2c3d4-e5f6-7890-abcd-1234567890ab 12.5G 30% /
└─sda2 swap 1 b2c3d4e5-f6a7-8901-bcde-2345678901bc [SWAP]
sr0
このコマンド結果では、FSTYPE(エフエスタイプ)という列が追加されています。Linuxでよく使われるのは「ext4(イーエックスティーフォー)」や「xfs(エックスエフエス)」です。また、UUID(ユーユーアイディー)という、デバイス固有の識別番号も確認できます。これは、Linuxの設定ファイルである /etc/fstab などで、特定のディスクを自動的に認識させるために使われる重要な情報です。
6. 特徴的なツリー表示をカスタマイズする
標準ではツリー形式(枝分かれした表示)で出力されますが、スクリプトなどで処理しやすいようにリスト形式で出力したい場合もあります。その際は -l オプションを使います。
lsblk -l
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
sda1 8:1 0 19G 0 part /
sda2 8:2 0 1G 0 part [SWAP]
sr0 11:0 1 1024M 0 rom
階層構造が消えて、すべてのデバイスが平坦に並びます。また、特定の列だけを表示したい場合は -o オプションで項目を指定できます。例えば、名前と容量、モデル名だけを知りたい場合は以下のように入力します。
lsblk -o NAME,SIZE,MODEL
NAME SIZE MODEL
sda 20G Virtual Disk
sr0 1024M DVD-ROM
このように、自分の必要な情報だけを抽出できるのがlsblkコマンドの強みです。
7. 管理者権限(root)での実行と詳細確認
lsblk自体は一般ユーザーでも実行可能ですが、システム管理を行う際には sudo(スードゥー)を付けて管理者権限で実行することが一般的です。特に、新しく接続したディスクの準備やフォーマットを行う前には、root(ルート)権限で正確なデバイス名を確認する癖をつけておきましょう。
rootユーザーとして、すべてのデバイス情報を詳細に表示する例を以下に示します。
lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 19G 0 part /
└─sda2 8:2 0 1024M 0 part [SWAP]
loop0 7:0 0 62M 1 loop /snap/core/12345
sr0 11:0 1 1024M 0 rom
-aオプションを付けると、サイズが0のデバイスや「loop(ループ)」デバイス(読み方はループデバイス)と呼ばれる仮想的なデバイスも含めてすべて表示されます。Snapパッケージなどのコンテナ技術を使っている環境では、多くのloopデバイスが表示されることがありますが、これは正常な状態です。
8. トラブルシューティングでの活用例
「USBメモリを挿したのに認識されない」「ディスクの空き容量が足りないと言われる」といったトラブルの際、lsblkは真っ先に使うべきコマンドです。もし lsblk を実行してデバイス名(sdbなど)が表示されていれば、Linuxカーネルはそのデバイスを物理的に認識しています。
逆に、ここに名前が出てこない場合は、ケーブルの接触不良やデバイス自体の故障、あるいはドライバの不足が考えられます。また、マウントポイントが空欄になっている場合は、「物理的には繋がっているが、まだ使える状態(マウント)になっていない」ことが分かります。このように、lsblkは「現在、何が、どこで、どのように動いているか」を可視化してくれる、Linux管理の羅針盤のような存在なのです。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
この記事では、Linuxシステムにおけるストレージ管理の基本であるlsblkコマンドについて詳しく解説してきました。lsblkは、システムに接続されているハードディスクやSSD、USBメモリといった「ブロックデバイス」を一覧表示するための非常に強力なツールです。Linux初心者からサーバー管理者まで、ディスクの状態を正確に把握するために欠かせないコマンドといえます。
lsblkコマンドの重要なポイントの振り返り
lsblkコマンドを使いこなすために、これまでに学んだ主要な機能を整理しましょう。まず、基本の実行ではデバイスの親子関係がツリー形式で表示され、どのディスク(disk)にどのパーティション(part)が含まれているかが一目で分かります。
- デバイス名の識別:sata接続ならsda、nvme接続ならnvme0n1といった命名規則を理解することが管理の第一歩です。
- ファイルシステムの確認:
-fオプションにより、ext4やxfs、vfatなどのフォーマット形式や、UUIDという固有識別子を確認できます。 - マウント状態の把握:MOUNTPOINTSを確認することで、そのデバイスが実際にデータ読み書き可能な状態(マウント済み)かどうかを判断できます。
- カスタマイズ性:
-oオプションで必要な項目(SIZE, MODEL, SERIALなど)だけを抽出して表示可能です。
実務で役立つlsblkの活用シーン
システムの運用現場では、単に中身を見るだけでなく、ディスク容量の拡張や新しいストレージの増設時にlsblkが大活躍します。たとえば、クラウド環境でディスクを追加した際、OS側で正しく認識されているかを確認するために真っ先に実行するのがこのコマンドです。また、/etc/fstabを編集して自動マウント設定を行う際には、lsblk -fで表示されるUUIDをコピー&ペーストして利用するのが最も安全で確実な方法となります。
さらに、トラブルシューティングにおいても「カーネルは認識しているがマウントされていないのか」それとも「物理的に認識すらされていないのか」を切り分ける重要な判断材料を提供してくれます。Linuxを操作する上で、まずはこのlsblkを自由自在に扱えるようになることが、ストレージ管理をマスターするための近道です。
応用:他のコマンドとの組み合わせ
lsblkは単体でも優秀ですが、他のコマンドと組み合わせることでさらに真価を発揮します。ディスクの使用量を知りたいときはdfコマンド、パーティションの詳細な操作を行いたいときはfdiskやparted、ファイルシステムの作成にはmkfsを使用します。これらのコマンドへ橋渡しをするための「現状確認」こそが、lsblkの担う最も重要な役割なのです。
生徒
「先生、lsblkコマンドについてたくさん教えていただきありがとうございました。おかげで、自分のパソコンの中でハードディスクがどういう構造になっているのか、イメージが湧いてきました!」
先生
「それは良かったです。最初はsda1やnvme0n1p1といった名前を見て難しく感じるかもしれませんが、規則性が分かればとてもシンプルでしょう?ツリー形式の表示は、Linuxがどのようにストレージを階層管理しているかを視覚的に教えてくれます。」
生徒
「はい、特にlsblk -fで表示されるUUIDというものが印象的でした。名前が変わってもデバイスを特定できる魔法の番号みたいですね。これを使って自動マウントの設定にも挑戦してみたいです!」
先生
「その意気です。では最後に、練習として特定の項目だけを表示させるコマンドを思い出してみましょう。例えば、デバイス名とマウントポイントだけをリスト形式で見たいときは、どんなふうに書けばよかったかな?」
生徒
「ええと、オプションの-oを使って項目を指定して、リスト形式にするには-lを合わせればいいんですよね。こんな感じでしょうか?」
lsblk -lo NAME,MOUNTPOINTS
NAME MOUNTPOINTS
sda
sda1 /
sda2 [SWAP]
sr0
先生
「完璧です!その通りに実行すれば、余計な情報を削ぎ落として必要なデータだけを抽出できます。シェルスクリプトで自動化するときにもよく使うテクニックですよ。これからもlsblkを活用して、Linuxのストレージ管理に詳しくなっていってくださいね。」
生徒
「ありがとうございます!どんどんコマンドを叩いて、体で覚えていこうと思います。Linuxの操作がもっと楽しくなりそうです!」