• ベストアンサー

相対パス(初級シスアド)

線が書けないので階層構造が見にくくてすみません。質問は一番下にあります。よろしくお願いいたします。 問1カレントディレクトリがB1のときC2は どう表すか。            /       A1       A2 B1   B2 C1   C2   (答え)・・/B2/C2 問2カレントディレクトリがindex.htmlのときa2は どう表すか。  user myhome index.html sozai s1   a1 s2  a2   (答え)sozai/s2/a2 <質問>問2の答えは問1と同様に考えて     ・・/sozai/s2/a2 ではなぜいけないのでしょうか。教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • pastasp
  • ベストアンサー率33% (26/77)
回答No.4

#1です。 構いませんよ。上手く出るかな‥こんな感じかなぁ。 [user]━[myhome]┳index.html             ┃             ┗[sozai]┳[s1]┳[a1]                   ┃   ┗[a2]                   ┗[s2] カレントディレクトリ、‥ってのは、言い換えれば「現在位置付いてる、フォルダ」のコトですね。 ですから、「カレントディレクトリがindex.htmlのとき」と云うのは、 「カレントディレクトリはmyhomeにある」との解釈でよいと思います。 ディレクトリってのは、フォルダのコトなんです。 本来、「『ファイル』を『ディレクトリ』と呼ぶ」コトは、まずあり得ません。 私が先の投稿で「問2が不適切」である旨を書いたのはその為です。 先読みをして、問題を作った設問者の意図を汲むとするならば、 辛うじて index.html と云う「URLを使う時には省略可能である特殊なファイル」を 使っているコトに、回答者が気付くかどうか?‥を試しているのだと思います。

sakura54
質問者

補足

階層図まで書いてくださって再度の御指導ありがとうございました。

その他の回答 (4)

  • pastasp
  • ベストアンサー率33% (26/77)
回答No.5

あっ‥#1じゃなくて、#2ですよね。しまった。(爆)

  • mahoroba
  • ベストアンサー率25% (9/35)
回答No.3

実際試してみれば、すぐわかると思います。 UNIXの環境がなければ、DOSプロンプトでも十分です。 /を\に変えれば、同じような経験が出来ます。 DOSコマンド 【CD ***】***ディレクトリに移動する 【MD ***】***ディレクトリをつくる 【dir /w】ディレクトリ中のファイルとサブディレクトリを一覧表示 例 C:\Documents and Settings\test\My Documents\user>dir /w ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は CCA4-93D3 です C:\Documents and Settings\test\My Documents\user のディレクトリ [.] [..] [myhome] 0 個のファイル 0 バイト 3 個のディレクトリ 37,484,056,576 バイトの空き領域 C:\Documents and Settings\test\My Documents\user>cd myhome C:\Documents and Settings\test\My Documents\user\myhome>dir /w ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は CCA4-93D3 です C:\Documents and Settings\test\My Documents\user\myhome のディレクトリ [.] [..] index.html [sozai] 1 個のファイル 0 バイト 3 個のディレクトリ 37,484,056,576 バイトの空き領域 C:\Documents and Settings\test\My Documents\user\myhome>cd ..\sozai\s2\a2 指定されたパスが見つかりません。 C:\Documents and Settings\test\My Documents\user\myhome>cd sozai\s2\a2 C:\Documents and Settings\test\My Documents\user\myhome\sozai\s2\a2> 詳細は参考URLで確認してください。 ”スラッシュから始まらないのが相対パスの特徴”だそうです。

参考URL:
http://www.cj-c.com/faq/pass.htm
sakura54
質問者

お礼

専門家の方に丁寧に教えていただけてとても光栄です。ありがとうございました。

  • pastasp
  • ベストアンサー率33% (26/77)
回答No.2

問2は、あまり適切な設問ではありませんね。 > カレントディレクトリがindex.htmlのとき と云うのは、 http://www.user/myhome/index.html の状態を指しますね。コレは、 http://www.user/myhome/ と同じ意味合いです。 つまり、厳密には「カレントディレクトリがindex.htmlのとき」と云うのは、 「カレントディレクトリはmyhomeにある」と同義であると推察されます。 この位置からa2へ行くには、http://www.user/myhome/sozai/s2/a2 で済みます。 回答するのは、つけ足す部分だけですよね。ですから /sozai/s2/a2 となります。 ちなみに。蛇足ですが、../sozai/s2/a2 とすると、 http://www.user/myhome/../sozai/s2/a2 ですから、 http://www.user/sozai/s2/a2 を探しに行こうとしてしまうので、エラーになります。

sakura54
質問者

補足

さっそくの御解答ありがとうございます。多分おっしゃるとおりだとおもうのですが次の点がまだ納得いきませんので教えていただけたらうれしく思います。問2の内容が線が引けない上に、文字の並びが思うようにいかないので大変分かりにくいのですが、userの下にmyhome、myhomeの下にindex.htmlとsozaiがあり、sozaiの下にs1とs2があり、さらにs1の下にa1、s2の下にa2があります。このような場合でも、カレントディレクトリがindex.htmlにあるということはカレントディレクトリがmyhomeにあるということになるのでしょうか。よろしくお願いいたします。

  • tiga-
  • ベストアンサー率19% (5/26)
回答No.1

問1では、 カレントディレクトリ(B1)の一つ上のディレクトリ(..つまりA1)の下のディレクトリ(B2)の下のディレクトリ(C2)という意味では? 問2では、 カレントディレクトリ(index.htmlどうしてファイル名?)の下のディレクトリ(sozai)の下のディレクトリ(s2)の下のディレクトリ(a2)という意味では? でもs2とa2は質問の並びでみると並行にあるので、親ディレクトリと子ディレクトリの関係か怪しいのですが。 質問の「../sozai/s2/a2」だと、 一つ上のディレクトリにあがってから、下に下がる感じです。一つ上のディレクトリの下にsozaiディレクトリがなければ、きっとsozaiディレクトリにはたどり着けないと思います。