プログラムを始めると必ず出てくるPATHの話ですが、簡単に言えば、
”ファイルは何処にあるのですか?”
の問いに対する回答を標準化したものです。
相対パス
基本はこれで、ほぼこの記述を使います。
1 ./
2 ../
3 ディレクトリ名
4 ファイル名
今いるディレクトリ(フォルダ)を ./ と設定します。ここを基準に
2:1つ上のディレクトリ
→ ../ : ./を基準に左に記述は上へ、右は下へを意味するので、
../は./の左に.を付けたので、上に一つ移動
3、4:いきなりディレクトリ名やファイル名
→ ディレクトリ/ : ./ディレクトリ/ では、./は省略可能なので、
ディレクトリ/の記述となる。
絶対パス
ルートディレクトリからの記述となり
1 D:
2 /
2: / から記述 → /からの記述はドライブの省略形、
D:、F:などのドライブの記述は省略可能なので、
F:/ディレクトリ名ではF:ドライブを省略して/から記述して ”/ディレクトリ名”で記述します。
Web上の表現
Web上で使われるルートディレクトリの表現は、//から始まる事がある。
これは、ネットワークドライブにあたるディレクトリD:、F:などのルートを受け付けないので
URLでのドメインからのルート記述になる。
* 区切りの表記でLinuxは”/”windowsでは”\”を使用します。
* ”ディレクトリ”はLinuxでの呼び方で”フォルダ”はwindowsでの呼び方
レンタルサーバーでレンタルする領域は、ホームディレクトリとなります。
ホームディレクトリはユーザーが自由に使えるディレクトリとなるので、
アプリケーションのような動的なファイルや単なる静的ファイルを配置して使用します。
ホームディレクトリかの確認は、sshでアクセスしたあとに、cd~コマンドを打ち込めば、
ホームディレクトリに移動してくれます。ほぼ、アクセスの初期状態がホームディレクトリです。
但し、ドメインを取得している場合は、ドメイン名とリンクしたディレクトリでアクセスされるので、
ドメイン名と同じ名前のディレクトリを作成して使用します。このディレクトリを
ドメインの DocumentRootとも呼ばれます。
ついでに、Linuxのルート権限ですが、OSの操作コマンドのほとんどはファイルやディレクトリに
対しての操作になります。この操作をディレクトリの始まり、つまりルートから出来るので、
ルート権限となります。この事は、全てのファイルやディレクトリを操作できる事になります。
レンタルサーバーでは、自分に割りあてられたディレクトリがルートになるので、その領域だけ
のコマンドが受け付けられる事になる権限が与えられえます。
例えば、Node.jsなどは、自分の領域内でしか影響を与えないようにできますが、PHP言語などは
ルートにあるディレクトリ内にファイルを展開するので、ルート権限が必要になります。
Linuxのコマンド
Linuxのcdコマンドでパスを記述しますが、
/ ルートディレクトリ
. 現在のディレクトリ
.. 親ディレクトリ
~/ ホームディレクトリ
などで、移動できます。
これを組み合わせて、
./ の意味は . 現在いるディレクトリを / ルートディレクトリと考える。
なので、現在のディレクトリを基準にする相対的なパスを表す事となります。
URLの最後にファイル名やスラッシュがない時
パスの最後がディレクトリかファイル名かの話で、基本はファイル名まで記述します。しかし、
「http://localhost/public/」といったURLの場合、
URLの末尾にファイル名が指定されてないので、このディレクトリ内のindex.htmlが実行されます。
そういうお約束になっています。言語がPHPならindex.phpを実行します。
index(和名:索引)は特殊な役割をもつ名前となります。
また、URLの末尾に”/”を付ける付けないでも意味合いが違います。
このスラッシュ、トレイリングスラッシュと呼ばれています。
スラッシュがある場合
「http://localhost/public/」はpublicディレクトリにindex.htmlファイルなどを探します。
スラッシュが無い場合
「http://localhost/public」はルートディレクトリにpublicファイルを探し、無ければpublicを
ディレクトリと判断して、publicディレクトリ内のindex.htmlファイルを探します。
ざっくり見渡すと、基本に忠実に記載するならスラッシュありで記述し、意味合いなど
を省略して、ディレクトリとして記述とする場合は、無しで記述とする事が多いようです。
ルートディレクトリ root directory
ルートディレクトリ
コンピュータファイルシステムにおいて、ファイル階層における最初または最上位のディレクトリのことで、パス指定の起点となるディレクトリです。
プロジェクトルート
プロジェクトファイルが存在するディレクトリで、すべてのプロジェクトソースの親である
ディレクトリです。アプリケーションのプロジェクト名がディレクトリ名になる事が多いです。
ドキュメントルート
Webサーバ(HTTPサーバ)やFTPサーバが外部に公開するファイルなどを置くディレクトリ(フォルダ)。一般的にはディレクトリ名にpublicと付ける事が多く、ドメイン名でアクセスする事が多いです。
エントリーポイント
プログラムの実行段階において、プログラムやルーチンの実行する開始位置のこと、多くのプログラミング言語では、ソースコードの先頭から実行していくため、それらのエントリーポイントはソースコードの先頭行となります。


