
Linux基礎:Linuxのファイルシステム
Linuxにおいて、データを効率的に管理・利用する仕組みが ファイルシステム です。ユーザーがデータを「ファイル」として扱えるのは、ファイルシステムによってストレージ上のデータが論理的に整理されているからです。ハードディスクやSSDを利用する際には、パーティションを作成し、その上にファイルシステムを作成する必要があります。Linuxでは ext4 をはじめ複数のファイルシステムを扱うことが可能で、環境や用途に応じて使い分けられています。本記事では、Linuxのファイルシステムの基本概念と、デバイスファイルの仕組みについて解説します。

1.ファイルシステムの基本
1.1. ファイルシステムとは
ファイルシステムとは、ディスク上のデータを「ファイル」という単位で管理する仕組みです。これにより、ユーザーは複雑な物理データ配置を意識せずに、ファイルやディレクトリとしてデータを操作できます。
| 用語 | 説明 |
|---|---|
| パーティション | ディスクを論理的に区切った領域 |
| ファイルシステム | パーティション内でデータをファイルとして整理・管理する仕組み |
| マウント | ファイルシステムをLinuxのディレクトリ階層に組み込む操作 |
1.2. Linuxで利用される主なファイルシステム
Linuxではさまざまなファイルシステムが利用可能です。
| ファイルシステム | 特徴 |
|---|---|
| ext4 | Linuxの標準。安定性が高く、ほとんどのディストリビューションで採用。 |
| XFS | 大規模データに強く、並列処理性能に優れる。 |
| Btrfs | スナップショットやチェックサム機能を持つ次世代ファイルシステム。 |
| VFAT | Windowsと互換性があり、USBメモリなどで利用。 |
2.デバイスとデバイスファイル
2.1. デバイスをファイルとして扱う仕組み
Linuxでは、ストレージや周辺機器を デバイスファイル として /dev ディレクトリに配置し、ファイルと同じように扱えるようにしています。これにより、プログラムは通常のファイル操作と同じ命令でデバイスにアクセスでき、システム設計が単純化されています。
【例1】/dev ディレクトリの一覧表示
[root@rocky9 ~]# ls /dev
autofs kmsg sda1 tty2 tty41 tty63 vcs6
block log sda2 tty20 tty42 tty7 vcsa
bsg loop-control sg0 tty21 tty43 tty8 vcsa1
(省略)2.2. 主なデバイスファイル
代表的なデバイスファイルを以下にまとめます。
| デバイスファイル | 説明 |
|---|---|
| /dev/sda | 1番目のハードディスク |
| /dev/sda1 | /dev/sda の第1パーティション |
| /dev/sdb | 2番目のハードディスク |
| /dev/sr0 | 1番目のCD/DVD/BDドライブ |
| /dev/st0 | 1番目のテープドライブ |
これらのファイルは、Linuxカーネルがハードウェアを検出すると udev によって自動生成されるため、管理者が手動で作成する必要はありません。
3.ファイルシステムの作成と確認
3.1. mkfs コマンド(ファイルシステムの作成)
新しいパーティションを利用するには、mkfs コマンドでファイルシステムを作成します。
書式
mkfs -t ファイルシステムタイプ デバイスファイル例: ext4ファイルシステムを作成する
# mkfs -t ext4 /dev/sdb13.2. lsblk コマンド(デバイスとマウントの確認)
ストレージの構成やマウントポイントを確認する際には lsblk を利用します。
[root@rocky9 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─rl_vbox-root 253:0 0 17G 0 lvm /
└─rl_vbox-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 1024M 0 rom まとめ
- Linuxのファイルシステムは、ディスク上のデータを「ファイル」として扱う仕組みであり、代表的なものは ext4。
- デバイスは
/dev以下の デバイスファイル として管理され、udev によって自動的に生成される。 mkfsでファイルシステムを作成し、lsblkで構成を確認できる。- ファイルシステムの理解は、Linuxシステムの運用やトラブルシューティングに欠かせない基礎知識である。
