LinuxのディレクトリはWindowsのフォルダに相当するものです。関連するファイルをひとつのフォルダにまとめて格納するのと同じように、ディレクトリを使用します。

ディレクトリの中には、ディレクトリ(サブディレクトリ)とファイルが入ります。
例えば、ディレクトリAの中にディレクトリBがあった場合、AはBの親ディレクトリとなり、BをAのサブディレクトリとなります。そして、全ての親ディレクトリをたどっていくと頂点にたどりつきます。そのディレクトリをルートディレクトリと言います。

Linuxでは、すべてのディレクトリとファイルがルートディレクトリ配下に置かれることになります。

ディレクトリ構成

Linuxでは、Windowsと同じようにユーザーが任意の名前をつけてディレクトリを作成することもできますが、Linuxをインストールすると自動的に生成されるディレクトリがあり、それらディレクトリに置かれるファイルはある程度決まっています。

例えば、CentOSをインストールすることでルートディレクトリ配下に以下のディレクトリが生成されます。

ディレクトリ名 説明
bin Binary(バイナリ)、つまり実行形式のファイルが格納される
boot ブート(システム起動)に関するファイルが格納される
dev デバイスファイルが格納される
etc 管理用のファイルが格納される
home ユーザーのホームディレクトリが格納される
lib ライブラリファイルが格納される
lost+found 何らかの原因で迷子になったファイルが格納される
media リムーバブルメディアのマウントポイントとして使用する
misc 種々雑多のファイルを格納する
mnt 各種ドライブのマウントポイントとして使用する
net 不使用
opt オプションのアプリケーションファイルを格納する
proc システム用のファイルが格納される
root root(スーパーユーザー)が使用するファイルを格納する
sbin システム関係のバイナリファイルが格納される
selinux SELinux用のファイルが格納される
sys デバイスドライバ情報などが格納される
tmp 一時的に使用するファイルを格納する
usr ユーザーが共有するファイルを格納する
var 変数やログファイルなどが格納される

ディレクトリ階層

Linuxのファイルシステムは階層型ディレクトリとなっています。階層型ディレクトリとはディレクトリの中に子ディレクトリを作成して、その中にさらにファイルやディレクトリを作ることができる階層構造のことです。

前述のとおり、ディレクトリ名はある程度決まっています。ただ、同じ名称のディレクトリが異なる階層に置かれるものがあります。例えば、バイナリファイル(実行形式のファイル)を格納するbinやsbinディレクトリがありますが、それらはいくつかの階層に置かれています。

ディレクトリ構造

Linuxで実行するコマンドも実体はC言語等で作られたプログラムです。例えば、ファイルやディレクトリの情報を表示するlsコマンドやネットワーク環境の状態確認/設定を行うifconfigコマンドが実行された際に呼び出されるのは、binやsbinディレクトリの中にあるバイナリファイルです。基本的な考え方としてルートディレクトリに近い位置にある(階層が浅い)程、重要であったり使用頻度が高いものが置かれています。