CodeGym /コース /Docker SELF /ファイルシステム管理: コマンド lsblk, blkid

ファイルシステム管理: コマンド lsblk, blkid

Docker SELF
レベル 6 , レッスン 0
使用可能

ファイルシステム管理: コマンド lsblk, blkid

1. ファイルシステムを理解する重要性

新しい講義へようこそ!今回はLinuxのファイルシステムの魅力的な世界に飛び込もう。デバイスを見つけ、その構造を理解し、どのタイプのファイルシステムがインストールされているかを学ぼう。さらに、lsblkblkidというツールを使ってコマンドラインの魔法をかけてみるよ。そして、「データの発掘」のためのプログラム制御のツールがいかにクールかも解説するよ!

ファイルシステムって何?

もしOS(オペレーティングシステム)があなたのコンピューターの「心臓」だとしたら、ファイルシステムはその「神経系」だね。ファイルシステムは記憶媒体のデータ(ハードディスク、SSD、USBドライブなど)の編成やアクセスを管理しているんだ。データの保存、読み取り、書き込みをどうやって行うかを決めてる。

こんなファイルシステムに出会うかもしれないよ:

  • ext4 — 大半のLinuxディストリビューションで標準的なファイルシステム。
  • NTFS — Windowsで使われてるファイルシステム。
  • FAT32 — 外部ドライブやフラッシュドライブで人気。
  • XFS, btrfs — Linuxでの進化系代替オプション。スナップショットみたいな機能をサポートしてる。

ディスクやフラッシュをLinuxに接続すると、ファイルシステムを「マウント」しなきゃいけない。そうしないとシステムが扱えないよね。これを管理するのに(それ以外のことも)コマンドを使うんだ。


2. lsblk コマンド: 接続デバイスの概要

lsblk コマンドの基本

Linuxにはデバイスとパーティションを操作するためのツールがたくさんあるけど、その中でも超便利なのがlsblkコマンドだね。この名前は「list block devices」、つまりブロックデバイスのリストを表示するという意味だよ。

構文は超シンプル:

lsblk

このコマンドを実行すると、システム内のすべてのブロックデバイス(HDD、SSD、USBドライブ、それぞれのパーティションなど)の一覧が表示されるよ。

出力例:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk 
├─sda1   8:1    0   50G  0 part /
├─sda2   8:2    0  200G  0 part /home
└─sda3   8:3    0  250G  0 part 
sdb      8:16   1   16G  0 disk 
└─sdb1   8:17   1   16G  0 part /media/usb
  • NAME: デバイス名だよ。例えば、sda, sdb。アルファベット(a, b…)は、システムがデバイスを検出した順番を表してる。
  • SIZE: デバイスのサイズ。
  • TYPE: デバイスタイプ。例えば、diskは物理ディスク、partはそのパーティション。
  • MOUNTPOINT: ファイルシステムにデバイスがマウントされている場所。

便利なオプション

lsblkは超柔軟なコマンドで、追加のパラメータを使えばさらに多くの情報が得られるよ:

  • lsblk -f — 各デバイスのファイルシステムの種類やUUID(ユニーク識別子)を表示する。
  • lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT — 表示する列を選択できる(例えば名前、サイズ、ファイルシステム、マウントポイント)。

例:

lsblk -f

結果:

NAME   FSTYPE LABEL    UUID                                 MOUNTPOINT
sda                                                         
├─sda1 ext4   rootfs   1111-2222-3333-4444                 /
├─sda2 ext4   home     5555-6666-7777-8888                 /home
└─sda3 swap            9999-AAAA-BBBB-CCCC                 [SWAP]
sdb    vfat   USB_DISK AAAA-BBBB                           /media/usb

3. コマンド blkid: ユニークIDの魔法

時々、デバイスやそのファイルシステムについて詳しく知りたいことがあるよね。そんな時に役に立つのがblkidコマンド。このコマンドは、ファイルシステムとUUIDに基づいてデバイスを識別するためのものなんだ。

blkidコマンドの基本

パラメータなしで実行してみて:

blkid

出力例:

/dev/sda1: UUID="1111-2222-3333-4444" TYPE="ext4"
/dev/sda2: UUID="5555-6666-7777-8888" TYPE="ext4"
/dev/sda3: UUID="9999-AAAA-BBBB-CCCC" TYPE="swap"
/dev/sdb1: UUID="AAAA-BBBB" TYPE="vfat" LABEL="USB_DISK"
  • UUID: パーティションのユニーク識別子(デバイスの名前が例えばsdaからsdbに変わっても変わらない)。
  • TYPE: ファイルシステムの種類。
  • LABEL: パーティションのラベル。

UUIDの実用的な価値

UUIDはLinuxで特に重要なんだ。というのも、デバイスの名前が起動時に動的に変わる可能性があるから。例えば、今日/dev/sdaと呼ばれているものが、明日には/dev/sdbになるかもしれない。UUIDを使えば、デバイスの安定した識別を行ってマウントできるんだ。このことについては次の講義で詳しく話すよ。その講義では/etc/fstabファイルの操作についても触れる予定だよ。


4. 未マウントデバイスの操作

時々、ディスクやUSBメモリを接続しても、それがマウントされたものとして表示されないことがあります。これは、アクティブなファイルシステムがない場合に起こる可能性があります。lsblkblkidを使って、何が起こっているかをすばやく確認しましょう。

たとえば、USBドライブを接続したけれども、lsblkの出力に次のように表示されたとします:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb      8:16   1   16G  0 disk 

これは、デバイスsdbがアクティブなパーティションを持っていないことを意味します。blkidの出力を確認して、その上にファイルシステムがあるかどうか確かめてください:

blkid /dev/sdb

もし応答がなければ、それはデバイスがまだフォーマットされていないことを証明します。この話題については次回の講義で説明します。


5. lsblkblkid の比較

どちらのコマンドも便利なんだけど、それぞれ使いどころが違うよ:

  • lsblk はシステム全体の概要を把握するために使おう: どこに何があるか、どのパーティションがマウントされているかとか。
  • blkid はファイルシステムの詳細情報 (種類、ラベル、UUID) を知りたいときに使うね。

比較表

コマンド 主な用途 出力
lsblk デバイス、パーティション、マウントポイントを表示する NAME, SIZE, TYPE, MOUNTPOINT, FSTYPE とか。
blkid ファイルシステムの情報を取得 (UUID, LABEL, TYPE) UUID, TYPE, LABEL

6. 例: デバイスの検索からその構造の理解まで

課題

  1. 接続されたUSBデバイスを見つける。
  2. そのファイルシステムを確認する。
  3. デバイスをマウントできるように準備する。

手順

  1. デバイスを接続して以下を実行する:

    lsblk
    
    自分のデバイスを見つける。例えば、sdb
  2. ファイルシステムが存在するか確認する:

    blkid /dev/sdb
    

    もしファイルシステムが存在しなければ、何も出力されない。この場合、デバイスをフォーマットする必要がある。

  3. ファイルシステムが存在する場合、その種類とUUIDが表示される。それを使って次の作業(例えば、マウント)に進むことができる。

これでLinuxのファイルシステムに関する知識を得られたね。次の講義では、デバイスをフォーマットしてファイルシステムを作成し、作業に向けて準備する方法に取り組もう!「生の」ディスクを使えるツールに変身させるエキサイティングなプロセスに備えてね。

コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION