gabuLog

趣味と考え事をつらつらと

ディレクトリ・ファイルの構造

Linuxディレクトリ構造

Linuxディレクトリ構造はFHS(Filesystem Hierarchy Standard)と言う標準を定めた仕様書がある。多くのLinuxディストリビューションはFHSに従ってディレクトリとファイルを配置している。

FHSはルート(/)を起点をした単一のツリー構造であり、ルート以下に目的に応じたディレクトリ階層が配置される。

FHSではディレクトリ名、各ディレクトリの役割、格納するファイルの種類、コマンドのは位置についても記載されている。

FHSでは共有可(shareable)もしくは可変(unshareable)、静的(static)もしくは動的(variable)かにより配置するディレクトリを振り分ける。

ファイルの分類と説明
分類 説明
共有可能 ネットワークを介して共有できるファイル 例)ユーティリティ、ライブラリなど
共有不可 ネットワークを介して共有できないファイル 例)ロックファイルなど
静的 システム管理者の操作以外では変更されないファイル 例)バイナリコマンド、ライブラリ、ドキュメンドなど
可変 システム稼働中に変更されるファイル 例)ログファイル、ログインユーザ情報のファイル、ロックファイルなど

 

ディレクトリと役割
ディレクト 役割
/ システムファイルの頂点にあたるディレクト
/bin 一般ユーザ、管理者が使用するコマンドが配置
/dev バイスファイルを配置 システム起動時に接続されているデバイスがチェックされ、自動的に作成される
/etc システム管理用の設定ファイルや、各種ソフトウェアの設定ファイルが配置
/lib /binや/sbinなどに置かれたコマンドやプログラムが利用するライブラリが配置
/lib/module カーネルモジュールが配置
/media CD/DVDなどのデータが配置
/opt Linuxインストール後、追加でインストールしたパッケージ(ソフトウェア)が配置
/proc カーネルやプロセスが保持する情報を配置 オプションによって一般ユーザも使用可能
/root rootユーザのホームディレクト
/sbin 主にシステム管理者が使用するコマンドが配置 オプションによって一般ユーザも使用可能
/tmp アプリケーションやユーザが利用する一時ファイルが配置
/var システム運用中にサイズが変更するファイルが配置
/var/log システムやアプリケーションのログファイルが配置
/boot システム起動時に必要なブートローダ関連のファイルや、カーネルイメージが配置
/usr ユーザが共有するデータが配置。ユーティリティ、ライブラリ、コマンドなどが配置
/usr/bin 一般ユーザ、管理者が使用するコマンドが配置
/usr/lib 各種コマンドが利用するライブラリが配置
/usr/sbin システム管理者飲みが実行できるコマンドが配置
/home ユーザのホームディレクトリが配置

こうしたファイルの位置を示す情報のことをパス(path)という。

コマンドプロンプト

ユーザの切り替え

Linuxで使用のコマンドは一般ユーザで実行できるものや、管理者権限がないと実行できないものがある。rootは管理者権限を持ち、一般ユーザは必要に応じて権限を追加されることで操作可能になる。

ログイン済みの状態で他のユーザや管理者へ切り替える場合、suコマンドを使用する。

ユーザ名を省略するとrootユーザになる。

su [オプション] [-] [ユーザ名]

ログイン

rootでログインした場合とuserでログインした場合では、コマンドプロンプトの表記が少し異なる。

しかし、大きくは「ログインしているユーザ名」「ホスト名」「カレントディレクトリ」が表示される。

異なるのは、rootの場合は「#」、userの場合は「$」が表示される。

※「~ (チルダ)」はホームディレクトリを意味する。

rootでログインした場合

[root@host001 ~]#

user01でログインした場合

[root@host001 ~]$

ホームディレクトリは各ユーザに割り当てられた作業場所。

自分のホームディレクトリにあるファイルは読み書きの権限を持っているが、他のユーザのディレクトリにあるファイルは権限が付与されていない場合、読み書きすることができない。

ただ、root権限を持つユーザに関しては全てのホームディレクトリに対して読み書きできる権限を持つ。

まとめ

Linuxはマルチユーザーモードで同時に多くのユーザーがログインできる仕様になっています。

コマンドプロンプト見て、表示されている情報をひと目見てわかるようにしとこう。