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ディレクトリの中にあるバイナリファイルです。基本的な考え方としてルートディレクトリに近い位置にある(階層が浅い)程、重要であったり使用頻度が高いものが置かれています。