Linux基礎:Linuxのファイルシステム

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

1.ファイルシステムの基本

1.1. ファイルシステムとは

 ファイルシステムとは、ディスク上のデータを「ファイル」という単位で管理する仕組みです。これにより、ユーザーは複雑な物理データ配置を意識せずに、ファイルやディレクトリとしてデータを操作できます。

用語説明
パーティションディスクを論理的に区切った領域
ファイルシステムパーティション内でデータをファイルとして整理・管理する仕組み
マウントファイルシステムをLinuxのディレクトリ階層に組み込む操作

1.2. Linuxで利用される主なファイルシステム

Linuxではさまざまなファイルシステムが利用可能です。

ファイルシステム特徴
ext4Linuxの標準。安定性が高く、ほとんどのディストリビューションで採用。
XFS大規模データに強く、並列処理性能に優れる。
Btrfsスナップショットやチェックサム機能を持つ次世代ファイルシステム。
VFATWindowsと互換性があり、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/sda1番目のハードディスク
/dev/sda1/dev/sda の第1パーティション
/dev/sdb2番目のハードディスク
/dev/sr01番目のCD/DVD/BDドライブ
/dev/st01番目のテープドライブ

 これらのファイルは、Linuxカーネルがハードウェアを検出すると udev によって自動生成されるため、管理者が手動で作成する必要はありません。

3.ファイルシステムの作成と確認

3.1. mkfs コマンド(ファイルシステムの作成)

新しいパーティションを利用するには、mkfs コマンドでファイルシステムを作成します。

書式

mkfs -t ファイルシステムタイプ デバイスファイル

例: ext4ファイルシステムを作成する

# mkfs -t ext4 /dev/sdb1

3.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システムの運用やトラブルシューティングに欠かせない基礎知識である。