記事を書き直したので以下からどうぞ
下記の記事で概念的な内容は大体事足ります。実データで理解した人は続きをどうぞ
ファイルシステムは基本的に下記の構成をしています。
ファイルシステム = スーパーブロック + inodeテーブル + データブロック
スーパーブロック
ファイルシステムの管理する情報を持つデータ構造のことです。バックアップを除くと1つのファイルシステムに1種類(1つのスーパブロックと複数のバックアップの意)だけ存在します。
実際のスーパーブロックの内容は下記の通りです。省略しているので全部見たい人は自分でコマンドを叩いてみてください。
inode テーブル
inodeはファイルシステム上のオブジェクト(ファイル、ディレクトリ)に関する基本情報が格納されるデータ構造のことです。そのため、ファイルやディレクトリごとにinodeが存在します。では実際inodeを見てみましょう。
wikipediaによると上記がPOSIX標準という規格で定められた、UNIXのファイルシステムが最低限持つ情報らしい。他にもファイルシステムによって追加の情報を持っている。
https://ja.wikipedia.org/wiki/Inod
ファイルシステムで使用されるinodeには次のBlockへのポインタを持っており、これにより高速にデータブロック(ファイル)にアクセスできる。なんで早いのかは2分木とか計算量オーダーとかでググってもらえれば。直感的には上から順番に検索するより、ポインタの矢印辿ったほうが見るデータが少なくなるよねってこと。
データブロック
データが保存されているブロックです。データブロック+ inode = ファイルと理解しています。実際のデータは馴染み深いですね