Web教材一覧ネットワーク

ディレクトリとリンク

キーワード

HTML、リンク、ディレクトリ、ルートディレクトリ、カレントディレクトリ、絶対URL指定、絶対パス、相対URL指定、相対パス、エクスプローラー、ショートカット、ハードリンク、仮想フォルダ、仮想ディレクトリ、仮想パス、エイリアス、ソフトリンク、ジャンクション、シンボリックリンク


ディレクトリとリンク

あるハイパーテキストから他のハイパーテキストへ移動するとき,HTMLでは
   <a href="移動先のURL">クリックする文字列</a>
のように記述します。
 ブラウザでは,
   クリックする文字列
のように表示されるので,その部分をクリックすると,新ハイパーテキストが表示されます。

ルートディレクトリ
階層型ファイル構造における最上階層のディレクトリ(あるいはフォルダ)のことです。下図では「folder」がルートディレクトリです。
カレントディレクトリ
現在いる(開いているページ)のディレクトリです。下図では「私:現在のページ」である page1-1.html がカレントディレクトリです。

絶対パス・相対パス

この移動先のURLの指定方法には,絶対URL指定絶対パス)と相対URL指定(相対パスがあります。
 絶対URL指定で page1-1.html を指定するには、
   <a href="http://www.kogures.com/hitoshi/folder/folder1/page1-1.html">
のように、ルートディレクトリとそれからのパスを指定します。
 相対URL指定では,移動元(カレントディレクトリ)と移動先との相対的な位置を指定します。例えば,次のディレクトリがあり,移動元(私)は,図のpage1-1.htmlだとします。

姉妹:同一フォルダ内へのリンク
page1-2.htmlは,私と同一フォルダ(folder1)内にあるので,
   <a href="page1-2.html">
とします。
姪:同一フォルダ内にあるフォルダの中のページ
folder1-1は,私と姉妹関係にあり,page1-1-1.htmlは,folder1-1の中のページなので,
   <a href="folder1-1/page1-1-1.html">
となります。
叔母:自分の属するフォルダの姉妹であるページ
folder1は私の母です。母を指すときには「../」とします。page.htmlは母と同一フォルダ(folder)にある姉妹ですので,
   <a href="../page.html">
となります。
従妹:自分の属するフォルダと同列のフォルダ内のページ
folder2は,私の母であるfolder1と姉妹関係にあり,私とは叔母の関係になるので,「../folder2」となります。それで,page2-1.htmlは
   <a href="../folder2/page2-1.html">
となります。

<a href="http://www.kogures.com/hitoshi/">のようにフォルダだけを指定しているときがあります。これは,一般には「index.html」あるいは「index.htm」が省略されていると解釈されます。
 移動先ページの先頭ではなく,そのページで「id="ichi"」と指定した位置に移動するときには,<a href="page1-2.html#ichi">のように記述します。「id="ichi"」が自分のページ内にあるときは,<a href="#ichi">とします。


関連事項

エクスプローラー

Windows でのディレクトリ表示アプリケーションです。Mac では Finder といいます。起動すると最上位にあるフォルダやファイルの一覧が表示され、フォルダを指定するとそのフォルダに含まれるフォルダとファイルが表示されるというように、物理的パス(OSから見たパス)を階層的にたどることにより、求めるファイルに到達できます。周辺機器やLAN接続先のディレクトリも参照できます。

ショートカット(Shortcut)

日常、よく使うファイル(フォルダも含む)を呼び出すのに、パスをたどっていくのは面倒です。そこへのパスをファイル(ショートカット)としておけば、1回の操作で到達できます。ショートカットの作成は非常に簡単で、該当するファイルのアイコンを右クリックするだけです。作成したショートカットはアイコンの左下に「矢印マーク」がついています。ショートカットは、任意のフォルダに置くことができますが、通常はデスクトップに置いて利用します。

ショートカットは単に絶対パス表記の情報を持つだけですから、次の性質があります。
  ・ショートカットを削除しても対象のファイルは削除されません。
  ・パスは絶対パス表記になっているので、どのフォルダに移動することができます。
  ・他のディスクやネットワークにあるファイルもショートカットできます。

一つのファイルに複数のファイル名(パス、リンク)を設定する方法です。その新規に設定したファイル名をエイリアス(alias、別名)といいます。
 ファイルが存在する磁気ディスクの構成に直接手を加えることから、ハードリンクといいます。

そもそもファイル名とは、外部からそれが持つデータを特定するための名称であり、そのファイルに到達するための経路がパスです。すなわち、外部からみればファイルとはパスなのだといえます。
 磁気ディスクでファイルに関する情報を記載しているデータテーブルをVTOC(Volume Table Of Contents)あるいはFAT(File Allocation Tables)といいます。ここにファイル名(正確にはパス名)と実際にデータが格納されているアドレスなどが入っています。詳細は省略しますが、VTOCに異なるファイル名で同一のデータ格納アドレスで異なるファイル名を与えれば、同一のファイルに複数の名称を設定することができます。

このような理由により、単一ディスク(厳密には同一ボリューム)内のファイルにだけ作成可能であり、フォルダには適用できないし、他のディスクやネットワークで接続したサーバのファイルには適用できません。

本来のファイルが長いパスであるとき、短いエイリアス名で代替できれば、外部から該当ファイルへのパスの記述(リンク先の記述)が簡単になります。また、多数のファイルにアクセスするアプリケーションでは、ファイル名に番号など一定の規則があるとプログラムが簡素になることができます。

仮想フォルダ(Virtual Directory、仮想ディレクトリ)

実際には複数のディレクトリに散在しているフォルダやファイルを、あたかも一つのフォルダに存在するかのように表示する見せかけのフォルダ(ストレージ上には存在しない仮想的なフォルダ)です。これによるパスを仮想パスといい、それに付けた名前をエイリアス(alias、別名)といいます。
 Windowsのデスクトップ画面にある「コンピューター」や「ゴミ箱」「ネットワーク」「コントロールパネル」などは仮想フォルダのエイリアスです。
 仮想フォルダを用いることにより、次の利便性が得られます。
 ・パスの長さを短くできます。
 ・同時に使うファイルをまとめることにより、該当ファイルを探す手間が省けます。

なお、仮想フォルダは、ハードリンクとは異なり、磁気ディスクの構成に直接手を加えることはありません。それで、以下のジャンクションやシンボリックリンクを総称してソフトリンクといいます。

ジャンクション(Junction)

コマンドプロンプトで mklink を実行して別名パス(仮想フォルダ)を作成します。ショートカットは初心者でも簡単に作成できますが、ジャンクションはパスを操作するので、それなりの知識が必要です。
 仮想フォルダも元のフォルダの場所を指定しているのですから、仮想フォルダを開いた状態で操作した結果は元フォルダに反映されます。また、元(実体)ファイルが削除されるとリンク先が無くなってしまいます。
 これにより作成した仮想フォルダをエクスプローラで見ると、ショートカットと同様に矢印マークがついています。

ジャンクションを発展させたものです。次の点がジャンクションと異なります。
 ・シンボリックリンク作成には管理者権限が必要(ジャンクションでは一般ユーザも可能)
 ・相対パス指定もできる(ジャンクションでは絶対パスのみ)
 ・リンク先はファイルでもフォルダでもよい(ジャンクションではフォルダのみ)
 ・ネットワーク共有フォルダへのリンク可能(ジャンクションでは不可)