[0122] 相対パス

平成12年度春期 (旧)第2情報処理技術者試験より
 図の階層型ファイルシステムにおいて、カレントディレクトリが B1 であるとき、ファイル C2 を指す相対パス名はどれか。パス名の表現において、“..”は親ディレクトリを表し、“ / ”は,パス名の先頭にある場合はルートディレクトリを、中間にある場合はディレクトリ名又はファイル名の区切りを表す。また、図中の はディレクトリを表すものとする。

../A1/B2/C2
../B2/C2
A1/B2/C2
/A1/B2/C2

正解

解説

 相対パスに関する問題です。

 現在ほとんどのOSで採用されている階層構造のファイルシステムでは、階層さえ異なっていれば、ファイルシステム内で同一名称のファイルを複数持つことができます。逆にいうと、ある特定のファイルを一意に表すためには、ファイル名だけではなく、階層名も含めて表現する必要がある、ともいえます。この「特定のファイルを一意に表すため」の方法には、絶対パス相対パスの2種類があります。

 絶対パスとは、ルート(階層構造における最上位のディレクトリ)からの位置を基準にしたパス(経路)で表現する方法です。

 相対パスとは、現在自分がいる位置を基点として、目的のファイルまでのディレクトリをたどりながら表現する方法です。

 この問題では、相対パスを求めています。現在の位置(カレントディレクトリ)B1から、C2のファイルまでどのような経路をたどっていけばよいでしょうか。以下の図で説明します。



図の矢印をたどっていくと、
    (1) 1つ上の階層(親ディレクトリ)のA1へあがり、
    (2) A1の1つ下の階層(子ディレクトリ)のB2へさがり、
    (3) B2の中にある目的のC2へたどり着く

という経路をたどっています。これを問題文中で与えられた記号 “..”や“ / ”を使って表現すると、
    (1) については、“..”
    (2) については、区切りの記号を入れて “/B2”
    (3) については、区切りの記号を入れて “/C2”

となります。よってこれらの記号をつなげて表現すると、../B2/C2 となります。

 したがって、イが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題