図に示す階層構造において,カレントディレクトリが*印のディレクトリであるとき,相対パス指定で ..¥..¥B¥B によって指定したディレクトリと同じディレクトリを絶対パス指定したものはどれか。 - ルート - A - A - A - B - B - A - B - B - A - A* - B - B - A - B 〔ディレクトリ及びファイルの指定方法〕 (1) ファイルは,“ディレクトリ名¥…¥ディレクトリ名¥ファイル名”のように,経路上のディレクトリを順に“¥”で区切って並べた後に“¥”とファイル名を指定する。 (2) カレントディレクトリは“.”で表す。 (3) 1階層上のディレクトリは“..”で表す。 (4) 始まりが“¥”のときは,左端にルートディレクトリが省略されているものとする。 (5) 始まりが“¥”,“.”,“..”のいずれでもないときは,左端にカレントディレクトリ配下であることを示す“.¥”が省略されているものとする。
平成26年度 春期 ITパスポート試験 問68
テクノロジ系ソフトウェア › ファイルシステム
この問題の解説と、これまでの解答の記録です。
問68
頻出度★☆☆
解説
問 68
不正解ア
¥A¥B¥B は、ルート直下の A から下る経路で、ツリーの左半分にあるディレクトリです。*印は右半分 (ルート直下の B の配下) にあり、“..” で上がっても左半分の A 側へ移ることはできません。カレントディレクトリの位置を取り違えた場合の誤りです。
不正解イ
¥B は “..” を 2 回適用した時点、つまり ¥B¥A¥A → ¥B¥A → ¥B で止まった位置にすぎません。その後に続く “¥B¥B” の 2 要素を下る操作を反映していないため、2 階層分足りません。
不正解ウ
¥B¥B は、¥B まで上がった後に “B” を 1 回だけ下った位置です。相対パスの末尾には B が 2 つ並んでいるので、下る操作は 2 回必要であり、1 階層分足りません。“..” の回数と下る回数を数え違えたときに選びやすい誤答です。
- エ
正解 まず*印の位置を絶対パスで押さえます。図のツリーで*が付いた A は、ルート → B → A → A とたどった先にあるので、カレントディレクトリは ¥B¥A¥A です。次に相対パス “..¥..¥B¥B” を左から 1 要素ずつ適用します。(1) 最初の “..” で 1 階層上がって ¥B¥A。(2) 2 つ目の “..” でさらに 1 階層上がって ¥B。(3) 続く “B” はその時点の位置 ¥B の直下にある B なので ¥B¥B。(4) 最後の “B” はさらにその直下の B なので ¥B¥B¥B。図でも ルート の下の B、その下の B、さらにその下の B は実在します。よって同じディレクトリを絶対パスで表すと ¥B¥B¥B となり、エが正解です。
ここがポイント
- 絶対パスはルートディレクトリを起点に表す指定方法、相対パスはカレントディレクトリを起点に表す指定方法。“.” はカレントディレクトリ、“..” は 1 階層上のディレクトリを指す。
- 相対パスは左から 1 要素ずつ順に適用して現在位置を更新するのが確実な解き方。“..” の個数だけ上がってから、残りのディレクトリ名の個数だけ下る、と分けて数えるとミスが減る。
用語