本文へスキップ

平成31年度 春期 ITパスポート試験 問96

この問題の解説と、これまでの解答の記録です。

問96
頻出度★☆☆

Web サーバ上において, 図のようにディレクトリ d1 及び d2 が配置されているとき, ディレクトリ d1 (カレントディレクトリ) にある Web ページファイル f1.html の中から, 別のディレクトリ d2 にある Web ページファイル f2.html の参照を指定する記述はどれか。ここで, ファイルの指定方法は次のとおりである。 〔指定方法〕 (1) ファイルは, “ディレクトリ名/…/ディレクトリ名/ファイル名” のように, 経路上のディレクトリを順に “/” で区切って並べた後に “/” とファイル名を指定する。 (2) カレントディレクトリは “.” で表す。 (3) 1 階層上のディレクトリは “..” で表す。 (4) 始まりが “/” のときは, 左端のルートディレクトリが省略されているものとする。

          ルート
         /      \
        d1       d2
        |        |
     f1.html  f2.html
出典 平成31年度 春期 ITパスポート試験 問96
解説

問 96

  • 不正解ア

    「.」 はカレントディレクトリ d1 を表すので、これは d1 の中の d2 の中の f2.html、すなわち d1/d2/f2.html を意味する。しかし d2 は d1 の子ではなくルート直下の兄弟なので、この経路は存在せず誤り。

  • 不正解イ

    「./f2.html」 はカレントディレクトリ d1 の直下にある f2.html を指す。しかし d1 の下にあるのは f1.html であり、f2.html は d2 の下にあるため、この指定では目的のファイルに届かず誤り。

  • ウ

    正解 図のとおり、ルートの直下に d1 と d2 が兄弟ディレクトリとして並び、f2.html は d2 の中にある。カレントディレクトリは d1 なので、そこから d2 へ移るには一度共通の親であるルートまで戻る必要がある。指定方法(3)より 1 階層上は 「..」 で表すので、まず 「..」 でルートへ上がり、続けて 「d2」 に入り、最後に 「f2.html」 を指定する。これらを 「/」 でつないだ 「../d2/f2.html」 が正しい参照であり、選択肢ウが正解となる。

  • 不正解エ

    先頭が 「d2」 なのでカレントディレクトリ d1 の中の d2 を探しに行く (d1/d2/../f2.html) が、d1 に d2 という子は存在しない。また 「d2/..」 は結局元の d1 に戻るだけなので、実質 d1/f2.html を指すことになり、いずれにせよ d2 の f2.html には到達できず誤り。

ここがポイント
  • 相対パス指定: カレントディレクトリを 「.」、1 階層上の親ディレクトリを 「..」 で表す。兄弟ディレクトリへ移るには一度共通の親まで 「..」 で戻ってから目的のディレクトリに入る。
  • 木構造の読み取り: d1 と d2 はルート直下の兄弟であり、一方が他方の子ではないことを図から正しく把握することが解答の鍵。
用語

解答の記録