- ベストアンサー
コマンドの問題
現在、/home/guest0/it1というディレクトリにいる。/home/guest1/it1/reportというディレクトリに移動するコマンドを相対パスで書け。という問題です。 絶対パスは分かるんですが。相対パスの.や..の表し方が分かりません。また、図を描くと分かりやすいとのことですが、どうやって図を書くのですか。教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
絶対パス(経路:path)は分かっているということなので,左端に登場する"/"と その他の"/" は意味が違うという点は大丈夫ですね。前者はルートディレクトリ(根っこの:root)を表し,後者はディレクトリの区切り文字を表しています。 そして,左端に"/"が登場するものを絶対パス指定,左端に"/"が登場しないものすべてを相対パス指定と呼びます。 現在位置は,次のような4段階下のディレクトリであり, 「/」「home」/「guest0」/「it1」 移動先は,次のような5段階下の別のディレクトリです。 「/」「home」/「guest1」/「it1」/「report」 さらに両者は,次の2段階下までのパスは共通しています。 「/」「home」 現在位置→移動先を相対パスで指定するためには, 自分から見た1つ上の親ディレクトリの表記が「..」ですから, (1)現在位置から2段階上に昇る(4段目→3段目→2段目) ../../ (2)その後,3段階下に降りる(2段目→3段目→4段目→5段目) ../../guest1/it1/report ということで「../../guest1/it1/report」が相対パスの解答です。 ---------------------------------------- ちなみに,別の例題として。 現在位置が次のディレクトリ, 「/」「home」/「guest0」/「it1」 移動先が次のディレクトリであるなら, 「/」「home」/「guest0」/「it1」/「report」 両者は次のような4段階下までのパスが共通していますから, 「/」「home」/「guest0」/「it1」 現在位置→移動先を相対パスで指定するためには,カレントディレクトリ(現在位置の:current)の表記が「.」ですから, (1)現在位置から1段階下に降りる(4段目→5段目) ./report ということで「./report」が相対パスの解答です。あるいは「report」だけでもよいです。
その他の回答 (3)
- jjon-com
- ベストアンサー率61% (1599/2592)
#3がすこし曖昧だったので補足です。 カレントディレクトリ表記「./」を省略するのなら次の解答になります。 ../../guest1/it1/report report 省略しないで「現在位置から」とあえて明示するなら次の解答になります。 ./../../guest1/it1/report ./report
- gungnir7
- ベストアンサー率43% (1124/2579)
相対とは今現在の自分の位置からみてという意味です。 パソコン用語でよく出てきますから覚えておかれると重宝します。 ディレクトリの場合は.でカレントディレクトリ、 ..で親ディレクトリ(1個上)です。 ディレクトリですから図示するのならツリー構造になります。 UNIXだとさしずめ下のようなイメージでしょうか。 http://homepage.mac.com/nojiri/macosx/feedback10a1.html
- yambejp
- ベストアンサー率51% (3827/7415)
「../」は一つ上位のディレクトリですから「/home/guest0/it1」の「../」は 「/home/guest0」というのは理解できますか? 「/home/guest0」と「/home/guest1/it1/report」は同じ構成ではないので さらに一つ上位のディレクトリにいきます。 つまり「../../」ですね。 すると「/home」と「/home/guest1/it1/report」となり同じ構成の ディレクトリになりますのであとは下位にクダっていけばよいでしょう。 イメージとしては「いとこ」が親の親(じいさんばあさん)の 子供(おじさんおばさん)の子供っていう考え方にちかいですね ちなみにwindows系はどうでもいいことに「.../」とかいう方言があったり するのでかえって混乱する場合もあります