平成31年度 春期 ITパスポート試験 問96 解説 相対パスの指定
Web サーバ上において, 図のようにディレクトリ d1及び d2が配置されているとき, ディレクトリ d1 (カレントディレクトリ) にある Web ページファイル f1.html の中 から, 別のディレクトリ d2にある Web ページファイル f2.html の参照を指定する記 述はどれか。ここで, ファイルの指定方法は次のとおりである。 〔指定方法〕 (1) ファイルは, “ディレクトリ名 /…/ ディレクトリ名 / ファイル名” のように, 経路上のディレクトリを順に “/” で区切って並べた後に “/” とファイル名を 指定する。 (2) カレントディレクトリは “.” で表す。 (3) 1階層上のディレクトリは “..” で表す。 (4) 始まりが “/” のときは, 左端のルートディレクトリが省略されているものと する。
- ア ./d2/f2.html
- イ ./f2.html
- ウ ../d2/f2.html ✓ 正答
- エ d2/../f2.html
解説
この問題は、現在地(カレントディレクトリ)を起点として、目的のファイルまでの道のりを記号で記述する「相対パス」のルールを理解しているかが問われています。
カレントディレクトリ d1 から出発して f2.html にたどり着くには、まず1つ上の階層(ルートディレクトリ)に戻り、そこから隣のディレクトリ d2 に入り、f2.html を指定するという手順を踏みます。これを記号に置き換えると、1階層上への移動は .. となり、その後に /d2/f2.html と続くため、正解は ../d2/f2.html となります。
相対パスの基本ルール
ファイルやディレクトリの場所を指定する方法には「絶対パス」と「相対パス」の2種類があります。
絶対パスは、ルートディレクトリを起点として、目的の場所まで全ての階層を記述する方法です。どこから指定しても常に同じ記述になります。
対して、今回の問題で使われている相対パスは、現在自分がいる場所(カレントディレクトリ)を起点として記述する方法です。現在の場所が変われば記述も変わるため、柔軟にファイルを指定できるのが特徴です。
今回の問題で重要なのは、移動のための特殊な記号です。
. (ドットひとつ):カレントディレクトリそのものを指します。 .. (ドットふたつ):1階層上の親ディレクトリを指します。 / (スラッシュ):階層の区切りです。
もし d1 の中にさらに d3 というディレクトリがあり、その中の f3.html を参照したい場合は ./d3/f3.html となります。このように、現在地を基準にして、上に行ったり下に行ったりしながらパスを構築していきます。
実務での活用
相対パスの考え方は、Webサイト制作におけるリンク指定で必須のスキルです。たとえば、Webページを作成する際、画像ファイルを表示したり、別のページへ移動したりする時にこの相対パスを使います。
相対パスでリンクを記述する最大のメリットは、サイト全体を別のサーバやフォルダへ移動したときでも、ディレクトリ内の階層構造さえ維持されていればリンクが壊れないことです。絶対パスで指定してしまうと、場所を移動した際にリンクの修正が必要になりますが、相対パスであればその手間が発生しません。
試験対策としては、自分の現在地を基準に、階層を登る(..を使う)のか、降りる(ディレクトリ名を使う)のかを頭の中でシミュレーションする練習をしておくと、確実に得点できるようになります。
- 相対パスと絶対パス(e-Words)