ITパスポート過去問 平成31年度(2019年)問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
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
カレントディレクトリはd1です。d2はd1と同じ階層(どちらもルート直下)なので、d1から一度「..」で1階層上のルートに戻り、そこからd2/f2.htmlへ進みます。したがって参照は ../d2/f2.html です。
Point
この問題は、ディレクトリ構造を図から読み取り、相対パスで目的のファイルまでの経路を正しく書けるかを確認するものです。「.」(カレントディレクトリ)と「..」(1階層上)を使って、d1からd2配下のファイルを参照する手順を理解することが目的です。
解くために必要な知識
この問題を解くには、相対パスのルールとディレクトリ階層の読み取りが必要です。
用語の整理
| 用語名 | 意味 |
|---|---|
| 相対パス | カレントディレクトリを基準に、目的のファイルまでの経路を指定する方法です。 |
| カレントディレクトリ | 現在位置のディレクトリです。相対パスの基準になります。 |
| ルートディレクトリ | ディレクトリ階層の最上位です。 |
記号(. と ..)
| 記号 | 意味 |
|---|---|
| . | カレントディレクトリを表します。 |
| .. | 1階層上のディレクトリを表します。 |
図の読み取り方
同じ階層の別ディレクトリへ移動する考え方
同じ階層にある別ディレクトリ内のファイルを指定する場合は、次の順で考えます。
-
共通の親ディレクトリまで .. で戻ります。
-
親ディレクトリから、目的のディレクトリ/ファイル名へ進みます。
今回の階層関係
| 項目 | 場所 |
|---|---|
| カレントディレクトリ | ルート/d1 |
| 目的ファイル | ルート/d2/f2.html |
解くための手順
-
カレントディレクトリ(出発点)を特定します。
-
目的ファイルがあるディレクトリ(目的地)を特定します。
-
出発点と目的地の共通の親ディレクトリまで .. を必要回数分つけます。
-
親ディレクトリから 目的ディレクトリ/ファイル名 を書きます。
問題の解法手順
問題のポイントは、カレントディレクトリがd1であり、d2がd1の直下ではなく、同じ階層にあることです。
図表の読み取り
-
ルート直下に d1 と d2 があります。
-
f1.html は d1 の中にあります。
-
f2.html は d2 の中にあります。
-
現在位置(カレントディレクトリ)は d1 です。
解く手順
1. 出発点を決める
出発点はカレントディレクトリの d1 です。
2. 目的地(d2)へ移動する
d2 は d1 と同じ階層なので、いったん親ディレクトリ(ルート)へ戻る必要があります。
- d1 から 1階層上へ戻る指定は .. です。
3. 目的ファイルまでの経路を書く
ルートに戻った後、d2 に入って f2.html を指定します。
- d2/f2.html
4. 2 と 3 を連結する
- ../d2/f2.html
選択肢ごとの解説
- ア:不正解
./d2/f2.html は、d2 がカレントディレクトリ d1 の直下にある場合の指定です。図では d2 はルート直下にあり、d1 の直下ではないので誤りです。
- イ:不正解
「./f2.html」はd1の直下にf2.htmlがある場合の指定です。図ではf2.htmlはd2の中にあるため一致しません。
- ウ:正解
「..」でd1の1階層上(ルート)へ移動し、そこからd2に入りf2.htmlを指定します。図の構造と一致します。
- エ:不正解
d2/../f2.html は、d1 の直下に d2 がある前提で d2 に入ってから 1階層戻り、d1 の直下で f2.html を探す指定になります。図の構造と一致しないため不適切です。
まとめ
カレントディレクトリはd1です。d2はd1と同じ階層(どちらもルート直下)なので、d1から一度「..」で1階層上のルートに戻り、そこからd2/f2.htmlへ進みます。したがって参照は ../d2/f2.html です。
テクノロジ系 > コンピュータシステム > ソフトウェア
./d2/f2.html は、d2 がカレントディレクトリ d1 の直下にある場合の指定です。図では d2 はルート直下にあり、d1 の直下ではないので誤りです。
「./f2.html」はd1の直下にf2.htmlがある場合の指定です。図ではf2.htmlはd2の中にあるため一致しません。
「..」でd1の1階層上(ルート)へ移動し、そこからd2に入りf2.htmlを指定します。図の構造と一致します。
d2/../f2.html は、d1 の直下に d2 がある前提で d2 に入ってから 1階層戻り、d1 の直下で f2.html を探す指定になります。図の構造と一致しないため不適切です。