カテゴリ: Linux 更新日: 2026/08/16

Linuxのファイルシステムとは?データ管理構造と仕組みを初心者向けに解説

Linuxのファイルシステムとは?データ管理構造
Linuxのファイルシステムとは?データ管理構造

先生と生徒の会話形式で理解しよう

生徒

「Linuxのファイルシステムって、ファイルを保存する場所のことですか?」

先生

「保存場所そのものではなく、HDDやSSDにあるデータをファイルやディレクトリとして整理し、名前や場所、容量などを管理するための仕組みです。」

生徒

「Windowsのフォルダのような仕組みと関係がありますか?」

先生

「関係があります。Linuxではルートディレクトリを頂点にした階層構造を使い、パーティションやストレージをマウントして一つの大きなファイル構造として利用します。基本から順番に見ていきましょう。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. Linuxのファイルシステムとは?

1. Linuxのファイルシステムとは?
1. Linuxのファイルシステムとは?

Linuxの読み方はLinux(リナックス)です。ファイルシステムの読み方はfile system(ファイルシステム)です。ファイルシステムとは、HDDやSSDなどのストレージに保存されたデータを、ファイルやディレクトリとして整理して管理するための仕組みです。

パソコンの中には、文書、画像、動画、プログラム、設定ファイル、ログなど多くのデータがあります。もしデータを保存する場所だけがあり、どこに何が入っているのかを管理するルールがなければ、目的のファイルを探すことが難しくなります。そこで、ファイル名、保存場所、容量、所有者、アクセス権限、更新日時などを管理する仕組みとしてファイルシステムが使われます。

初心者の方は、大きな図書館をイメージするとわかりやすいでしょう。ストレージが建物だとすると、ファイルシステムは本を分類し、棚へ並べ、どこに何があるのかを管理するルールです。ファイルが本、ディレクトリが本棚のような役割になります。

Linuxではファイルシステムの考え方が非常に重要です。コマンドでファイルを探すとき、ストレージを追加するとき、空き容量を確認するとき、バックアップするときなど、さまざまな場面で関係します。

2. ルートディレクトリを頂点にした階層構造

2. ルートディレクトリを頂点にした階層構造
2. ルートディレクトリを頂点にした階層構造

Linuxのファイルシステムは、一般にルートディレクトリを頂点とする階層構造で表されます。ルートディレクトリの読み方はroot directory(ルートディレクトリ)です。Linuxでは/で表します。

Windowsでは複数のドライブ文字を意識することがありますが、Linuxでは基本的に/から始まる一つのディレクトリツリーとしてファイルやストレージを扱います。ツリーの読み方はtree(ツリー)で、木の枝のように下へ分かれていく構造を意味します。

たとえば/homeには一般ユーザーのホームディレクトリ、/etcには多くのシステム設定、/varにはログなど変化しやすいデータ、/tmpには一時ファイルが置かれることがあります。実際の用途はLinuxディストリビューションや設定によって異なる場合があります。

現在いるディレクトリはpwdコマンドで確認できます。pwdの読み方はpwd(ピーダブリューディー)です。


pwd
/home/user

この例では、現在の作業場所が/home/userであることがわかります。Linuxのファイル操作では、現在位置とルートからの階層を意識すると、コマンドの意味を理解しやすくなります。

3. ext4やXFSなどLinuxで使われるファイルシステム

3. ext4やXFSなどLinuxで使われるファイルシステム
3. ext4やXFSなどLinuxで使われるファイルシステム

Linuxでは一種類だけでなく、用途に応じて複数のファイルシステムを利用できます。代表的なものにext4やXFSがあります。ext4の読み方はext4(イーエックスティーフォー)、XFSの読み方はXFS(エックスエフエス)です。

ext4はLinuxで広く利用されているファイルシステムの一つで、デスクトップ環境やサーバーなどさまざまな用途で使われています。XFSもLinuxサーバーなどで利用されることがあるファイルシステムで、大きなファイルや大容量ストレージを扱う環境でも使われています。

ほかにもBtrfsなどのファイルシステムがあります。Btrfsの読み方はBtrfs(ビートゥリーエフエス)です。ファイルシステムによって、管理方法、対応する機能、得意な用途などに違いがあります。

初心者の段階では、すべての種類や内部構造を暗記する必要はありません。まずLinuxではストレージ上のデータを管理する方式として複数のファイルシステムがあり、環境によってext4やXFSなどが選ばれると理解しておけば十分です。

ファイルシステムの種類は、Linuxをインストールした方法やディストリビューション、ストレージ構成によって異なります。自分の環境をコマンドで確認することが大切です。

4. lsblk -fでファイルシステムの種類を確認する

4. lsblk -fでファイルシステムの種類を確認する
4. lsblk -fでファイルシステムの種類を確認する

Linuxでストレージやパーティションにどのファイルシステムが使われているか確認するときは、lsblk -fが便利です。lsblkの読み方はlsblk(エルエスブロック)です。ブロックデバイスの構成とファイルシステムの情報を一覧で確認できます。


lsblk -f
NAME   FSTYPE FSVER LABEL UUID                                 MOUNTPOINTS
sda
sda1   ext4   1.0         11112222-3333-4444-5555-666677778888 /boot
sda2   xfs                aaaabbbb-cccc-dddd-eeee-ffff00001111 /

FSTYPEにはファイルシステムの種類が表示されます。この例ではsda1にext4、sda2にXFSが使われています。MOUNTPOINTSを見ると、それぞれがLinuxのどのディレクトリへ接続されているかも確認できます。

UUIDの読み方はUUID(ユーユーアイディー)です。Universally Unique Identifier(ユニバーサリーユニークアイデンティファイア)の略で、ファイルシステムなどを識別するために使われる値です。Linuxではストレージを安定して識別するためにUUIDが設定やマウントで利用されることがあります。

表示結果は環境によって異なります。NVMe SSDや仮想ディスクを利用している場合は、デバイス名もこの例とは違うことがあります。

5. パーティションとファイルシステムとマウントの関係

5. パーティションとファイルシステムとマウントの関係
5. パーティションとファイルシステムとマウントの関係

Linuxのストレージ管理では、パーティション、ファイルシステム、マウントという三つの用語がよく登場します。パーティションの読み方はpartition(パーティション)です。一台のHDDやSSDを複数の領域へ分割して利用する仕組みです。

パーティションを用意しただけでは、通常はファイルやディレクトリを整理して保存するための管理構造がありません。そこでext4やXFSなどのファイルシステムを作成します。さらに、そのファイルシステムをLinuxのディレクトリ構造から利用できるように接続することをマウントといいます。マウントの読み方はmount(マウント)です。

初心者の方は、ストレージが土地、パーティションが土地を分けた区画、ファイルシステムが区画内の住所や整理方法、マウントがLinuxの道路からその区画へつながる入口だと考えるとわかりやすいでしょう。

現在どのファイルシステムがどこへマウントされているか確認するときは、findmntコマンドも便利です。findmntの読み方はfindmnt(ファインドマウント)です。


findmnt -T /
TARGET SOURCE    FSTYPE OPTIONS
/      /dev/sda2 xfs    rw,relatime

この例ではルートディレクトリが/dev/sda2にあるXFSファイルシステムから提供されていることがわかります。実際のSOURCEやFSTYPEは利用しているLinux環境によって異なります。

6. inodeとデータブロックでファイルを管理する仕組み

6. inodeとデータブロックでファイルを管理する仕組み
6. inodeとデータブロックでファイルを管理する仕組み

Linuxのファイルシステムをもう少し詳しく理解するときに登場するのがinodeです。inodeの読み方はinode(アイノード)です。inodeは、ファイルの種類、アクセス権限、所有者、ファイルサイズ、更新日時、データの場所に関係する情報などを管理します。

ファイル名とinodeは同じものではありません。一般的なLinuxのファイルシステムでは、ディレクトリがファイル名とinode番号の対応を持ち、そのinodeを通してファイルの情報やデータへたどります。この仕組みはハードリンクを理解するときにも重要です。

データそのものは、ファイルシステムが管理するブロックなどの単位に保存されます。ブロックの読み方はblock(ブロック)です。初心者の方は、inodeが本の管理カードで、データブロックが本の本文を置いている棚のようなものだと考えるとわかりやすいでしょう。

ファイルのinode番号はls -iで確認できます。


touch sample.txt
ls -i sample.txt
123456 sample.txt

左側に表示される数字がinode番号です。実際の番号は環境によって異なります。普段のファイル操作でinodeを毎回意識する必要はありませんが、ハードリンク、ファイル削除、ファイルシステム障害などを学ぶときに役立つ基礎知識です。

7. dfコマンドでファイルシステムの容量を確認する

7. dfコマンドでファイルシステムの容量を確認する
7. dfコマンドでファイルシステムの容量を確認する

Linuxでファイルシステムの容量や空き容量を確認するときは、dfコマンドがよく使われます。dfの読み方はdf(ディーエフ)です。マウントされているファイルシステムごとの容量、使用量、空き容量、使用率などを確認できます。

さらにdf -Thとすると、ファイルシステムの種類も合わせて読みやすい容量単位で確認できます。


df -Th
Filesystem     Type  Size  Used Avail Use% Mounted on
/dev/sda2      xfs   119G   28G   91G  24% /
/dev/sda1      ext4  974M  210M  697M  24% /boot

Typeにはファイルシステムの種類、Sizeには全体容量、Usedには使用済み容量、Availには利用可能な容量、Useには使用率、Mounted onにはマウント先が表示されます。

Linuxサーバーでは、ファイルシステムの空き容量が不足するとログを書き込めなくなったり、アプリケーションがデータを保存できなくなったりする場合があります。そのためdf -hdf -Thによる容量確認は、Linuxのシステム管理でよく使われる基本操作です。

なお、ディスク全体に空き容量があることと、目的のファイルシステムに空き容量があることは同じではありません。複数のパーティションやファイルシステムへ分かれている場合は、それぞれの使用状況を確認する必要があります。

8. Linuxのファイルシステムではアクセス権限も管理される

8. Linuxのファイルシステムではアクセス権限も管理される
8. Linuxのファイルシステムではアクセス権限も管理される

Linuxのファイルシステムでは、データの場所だけではなく、誰がファイルを読み、書き、実行できるのかというアクセス権限も重要です。アクセス権限の読み方はアクセス権限(アクセスケンゲン)です。

Linuxではユーザーやグループという考え方を使ってファイルを管理します。ファイルごとに所有者やグループが設定され、読み取り、書き込み、実行といった権限を設定できます。そのため複数のユーザーが同じLinuxサーバーを利用していても、必要のないファイルへ自由にアクセスできないよう制御できます。

ファイルの詳しい情報を確認するときはstatコマンドも利用できます。statの読み方はstat(スタット)です。


stat -c '%n %s %U %G %a' sample.txt
sample.txt 0 user user 644

この例ではファイル名、サイズ、所有ユーザー、所有グループ、アクセス権限に関係する値を表示しています。実際の値は作成したユーザーや設定によって異なります。

Linuxではファイルシステムが単にデータを並べるだけではなく、所有者、権限、時刻など多くの情報を一緒に管理していることを理解すると、ファイルシステムの役割がよりわかりやすくなります。

9. Linux初心者がファイルシステムで覚えておきたいポイント

9. Linux初心者がファイルシステムで覚えておきたいポイント
9. Linux初心者がファイルシステムで覚えておきたいポイント

Linuxのファイルシステムを理解するときは、まず「データを整理して保存し、必要なファイルへたどり着けるようにする管理構造」と考えるとよいでしょう。HDDやSSDはデータを保存するストレージ装置ですが、その上でファイルやディレクトリを扱えるようにする仕組みがファイルシステムです。

Linuxではルートディレクトリを頂点とした一つの階層構造が基本です。追加したストレージや別のパーティションも、マウントすることでその階層の一部として利用できます。この考え方を理解すると、なぜ別のHDDを追加してもLinuxでは/dataなどのディレクトリから利用できるのかがわかります。

ファイルシステムの種類としてはext4やXFSなどがあり、lsblk -fを使うと現在の環境で使われている種類を確認できます。findmntではマウント関係、df -Thではファイルシステムの種類と容量、ls -iではinode番号を確認できます。

また、ファイルシステムはファイル名や保存データだけでなく、所有者、アクセス権限、更新日時なども管理しています。Linuxでファイルを安全に共有したり、サーバーを安定して運用したりするためにも、この管理情報は重要です。

ファイルシステムの歴史を振り返ると、UNIX系の考え方を受け継ぎながら、より大きなストレージや障害への強さ、新しい管理機能などに対応するため、さまざまな方式が登場してきました。現在のLinuxでも用途に合わせて複数のファイルシステムが利用されています。

Linux初心者は、最初から内部構造を細かく暗記するよりも、ストレージ、パーティション、ファイルシステム、マウント、ディレクトリという流れを一つにつなげて理解することが大切です。この基本がわかると、Linuxのファイル操作、ディスク管理、容量確認、バックアップ、サーバー管理などの学習へ進みやすくなります。

Linuxのファイルシステムは、ストレージ上のデータをファイルやディレクトリとして整理し、名前、場所、容量、所有者、アクセス権限などを管理する仕組みです。ext4、XFS、inode、パーティション、マウント、lsblkdfなどの関連用語を一緒に学ぶと、Linuxのファイルシステムとストレージ管理を理解しやすくなります。

関連記事:
カテゴリの一覧へ
新着記事
New1
基本情報技術者試験
命令ミックスを完全ガイド!CPUの性能を理解するための初心者向けやさしい解説
更新記事
New2
基本情報技術者試験
クロックサイクル時間をわかりやすく解説!CPUの動きを初心者向けに丁寧ガイド
更新記事
New3
基本情報技術者試験
MIPS(Million Instruction Per Second)を完全ガイド!初心者でもわかるCPU性能の基本
更新記事
New4
基本情報技術者試験
CPI(Clock Cycles Per Instruction)を初心者向けに完全ガイド!CPUの仕組みをやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
イーサネット(Ethernet)とは?初心者にもわかるLANの基本技術をやさしく解説
No.2
Java&Spring記事人気No2
基本情報技術者試験
DHCP
376
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.3
Java&Spring記事人気No3
基本情報技術者試験
CPU
349
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み
No.4
Java&Spring記事人気No4
基本情報技術者試験
NIC
309
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.5
Java&Spring記事人気No5
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
NTP
207
NTPとは?初心者でもわかる時刻同期の仕組みとネットワーク時刻プロトコルの基本
No.7
Java&Spring記事人気No7
基本情報技術者試験
IPv4
180
IPv4とは?初心者でもわかるIPアドレスの基本と通信のルール
No.8
Java&Spring記事人気No8
基本情報技術者試験
SMTP
177
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!