ディレクトリは、フォルダのこと
ディレクトリとは、ファイルを分類・管理するための概念であり、ファイルを格納する入れ物のこと。Windowsでは、フォルダのことを指しています。
WindowsやMacでは フォルダという言葉を使いますが、コンピュータ全般では ディレクトリという言葉が使われることがあります。
ディレクトリは、Linux OSやコマンドプロンプトなど CUIのコマンド入力において、DIRと表記されることもあります。
階層構造
パソコンにあるデータは、フォルダによって管理されていることがほとんどです。フォルダの中にさらにフォルダを作って分類していきます。
Windowsそのものが Cドライブを開けば フォルダがあり、そのフォルダを開けばさらにフォルダがあるという構造になっています。
これを階層構造、ツリー構造といいます。
ハードディスクやフォルダを開こうとして、「ディレクトリー名が無効です」「壊れています」というエラーが出るのは、このような階層構造やフォルダが壊れているということになります。
ルートディレクトリ
PCを開くと、CドライブやDドライブがあります。Windowsやプログラム、主要なデータはすべてこのCドライブに入っています。
Cドライブを開くと、様々なフォルダがおかれています。
ディスクを開いて一番最初にフォルダがある場所、階層構造の一番上にある場所を ルートディレクトリといいます。ここが Cドライブのルートディレクトリになります。Cドライブ直下という言い方もします。
右クリック→アドレスの編集。C:\と表されます。
ルートというのは、根源とか根本という意味で、IT用語では他に ルートサーバー、ルート認証局などがあります。
サブディレクトリ
ルートディレクトリ以下のディレクトリをすべて、サブディレクトリといいます。
Cドライブのルートディレクトリの中のサブディレクトリ「ユーザー」、サブディレクトリ「ユーザー」の中のサブディレクトリ「パブリック」など。
一般的にサブディレクトリという言葉を使う場合は、現在いるフォルダの中にあるフォルダ、下にあるフォルダをいいます。「ユーザー」のサブディレクトリ「パブリック」など。
また反対に一つ上のディレクトリを 親ディレクトリといいます。「パブリック」からみると 「ユーザー」が親ディレクトリです。
カレントディレクトリ
例えば Cドライブ→ユーザー→パブリックと進み、パブリックフォルダ内で作業しているとします。その場合、パブリックフォルダがカレントディレクトリになります。
C:\Users\Public と表します。
パス
コンピューターの世界では、ディレクトリやファイルの場所は パスで表記されます。そのファイルのおかれている場所は、パスによって経路が示されています。
絶対パス
絶対パスというのは ルートディレクトリからの経路です。例えばデスクトップにデータというフォルダがあるとします。
フォルダ上で右クリック→プロパティ。
ここがそのフォルダの正式な場所になります。Cドライブ内のどこにそのフォルダやファイルがあるのか知ることができます。
Windowsにおける 絶対パスでは以下のように決まりがあります。
- ルートディレクトリは \で表記する・・・C:\、D:\など
- ディレクトリとディレクトリは \で区切る・・・C:\Users\user\Desktopなど
アプリケーションの設定項目には、データがどこに保存されているか絶対パスで分かることがあります。Cドライブから絶対パスでデータのあるところまで辿り、バックアップなどをとることができます。
コマンドプロンプト、cdコマンド(change directory)。絶対パスでCドライブのtestディレクトリに移動。
相対パス
絶対パスがルートディレクトリからの経路であったのに対して、相対パスは現在のディレクトリ、カレントディレクトリからの経路を表します。
- パスはカレントディレクトリから表す
- カレントディレクトリは .で表す
- 親ディレクトリは ..で表す
- カレントディレクトリと先頭の \ は省いてよい(.\ は省略可)
コマンドプロンプト、cdコマンドで親ディレクトリに移動。(cd .\.. でも可)
2つ上のルートディレクトリに移動。(ルートディレクトリは \ であるため cd \ でも可)
ルートディレクトリからtestディレクトリに移動。(cd .\test でも可)
またホームページ作成などでは、主に相対パスを使います。
ホームページというのは、パソコンで作成するため Windowsと同じようにディレクトリによって構成されています。
例えばこのようにファイル・フォルダがあるとします。index.htmlが そのホームページのトップページです。ここをルートディレクトリとして捉えることができます。
サブディレクトリのsample1にtest.htmlがあります。
test.htmlからintdex.htmlにサイト内でリンクを貼るときに 相対パスを使います。ディレクトリは / で区切るという特徴があります。
test.htmlから一つ上のディレクトリにあるindex.htmlなので ./../index.html となります。逆にindex.htmlから test.htmlへは ./sample/test.html となります。カレントディレクトリと先頭の /を省くことができるため、../index.htmlと sample/test.htmlになります。
同様にこの例では、test.htmlからCSSファイルへのリンクは ../style.css、imagesの中にある画像ファイルへのリンクは ../images/ファイル名のようになります。
また、同じディレクトリ内にあるファイルへのリンクは、そのファイル名になります。例えば、index.htmlからstyle.cssへは style.cssとなります。
このようにパソコンのフォルダやファイルの場所を表すときや、Linux OS、CUIでの操作、ドメインやホームページなどでディレクトリやパスという言葉が出てくることがあります。