跳到正文

平成24年度 秋期 ITパスポート試験 問63

这道题的解析和你的作答记录。

問63
頻出度★☆☆

図に示す階層構造で,複数個の同名のディレクトリ A,B が配置されており,ユーザ ID ごとにログインしたときのカレントディレクトリが異なる。U0002 がログインした直後に,矢印が示すディレクトリ B に存在するファイル f を指定するものはどれか。ここで,ファイルの指定方法とユーザ ID 別のカレントディレクトリは次のとおりである。 〔ファイルの指定方法〕 (1) “ディレクトリ名¥ … ¥ディレクトリ名¥ファイル名”のように,経路上のディレクトリを順に“¥”で区切って並べた後に“¥”とファイル名を指定する。 (2) カレントディレクトリは“.”で表す。 (3) 1階層上のディレクトリは“..”で表す。 (4) 始まりが“¥”のときは,左端のルートディレクトリが省略されているものとする。 〔ユーザ ID 別カレントディレクトリ〕

ユーザ IDログイン時のカレントディレクトリ
U0001¥A¥B
U0002¥A¥B¥A

(図:ルートの下に A と B が配置されている。A の下に A と B が配置され,その B の下にさらに A と B が配置されている。ルート直下の B の下には A と B が配置されている。矢印はルート直下の B を指している。)

出典 平成24年度 秋期 ITパスポート試験 問63
解説

問 63

  • 错误ア

    「.」指的是当前目录本身(¥A¥B¥A),所以这一项的含义是 ¥A¥B¥A¥B¥f。图中 ¥A¥B¥A 下面并没有画出子目录,而且它本来就与箭头所指的 B(根目录正下方)处于不同的位置。由于一个表示向上一层的「..」都没有,因此根本没有上升层次。

  • 错误イ

    一次「..」只能上升一层,所以只能退回到 ¥A¥B,这一项的含义是 ¥A¥B¥B¥f。图中 ¥A¥B 下面确实也有 B,但那是 A 下面的 B 里面的 B,并不是箭头所指的根目录正下方的 B。即使名称相同,位置不同就是不同的目录。

  • 错误ウ

    用「..¥..」上升两层会到达 ¥A,所以这一项的含义是 ¥A¥B¥f。这个 ¥A¥B 是 U0001 登录时的当前目录,与箭头所指的根目录正下方的 B 不同。要退回到根目录,还需要再来一次「..」。

  • エ

    正解 U0002 登录后的当前目录是 ¥A¥B¥A,从根目录数起位于第 3 层。而目标文件 f 所在的位置是箭头所指的「根目录正下方的 B」。在相对指定中,「..」表示上一层,因此从 ¥A¥B¥A 用「..」回到 ¥A¥B,再用一次「..」回到 ¥A,再用一次「..」就到达根目录。也就是说,用「..¥..¥..」退回到根目录,再用「¥B¥f」即可指定根目录正下方的 B 及其中的文件 f。因此 エ 的「..¥..¥..¥B¥f」是正确答案。要点在于:同名目录 A、B 分布在层次结构的各处,因此必须不靠名称,而靠「从根目录开始的位置(路径)」来区分。

ここがポイント
  • 在以当前目录为起点的相对路径中,「.」表示当前位置,「..」表示上一层。当目标位于靠近根目录的一侧时,要按当前目录的深度重复相应次数的「..」,先退回到共同的上级目录(这里是根目录),再从那里向下逐层前进。
  • 在存在多个同名目录的层次结构中,仅凭目录名无法唯一确定位置。应先用从根目录开始的路径(绝对路径)确认位置,再换算成相对路径来思考。
用語
解答問63エ
练这一题

作答记录