パス
絶対パス、相対パス

絶対パスと相対パスって何?
相対パスは、あなたと私のように、二つのものに注目することなの。
例えば:

私たちはビル-Aにいるとして
もしあなたが3階 301号室にいて、私が3階にいるなら、
私は「301号室に向かうよ、あなたを探しに」って言うわ。
ターミナルのcd
コマンドは「change directory」の意味だって知ってる。向かうみたいな感じだね。つまりcd Room-301
って言ってるのか。
そう、その通り!
もしあなたが3階にいて、私が3階 301号室にいるなら、

私は「外に出るよ、あなたを探しに」って言うわ。
..
(ドット2つ)は現在の場所から「外」を指すから、外に出るはcd ..
と同じよ。
もし僕が5階 502号室にいて、君が3階 301号室にいるとしたら?

その場合、私は「外に出て、外に出て、5階502号室に向かうよ、あなたを探しに」って言うわ。
なんで外に出るを2回言うの?
- 私は3階 301号室にいる
- 外に出ると、3階にいる
- 外に出ると、ビル-Aにいる
- それから5階 502号室に向かうことができる
これをターミナルコマンドに変換してみよう。
# あなたは `Floor-3/Room-301` にいる
cd ..
# 今 `Floor-3` にいる
cd ..
# 今 `Building-A` にいる
cd Floor-5/Room-502
# 今 `Floor-5/Room-502` にいる
正解!これで私に会えたね!
私がいる場所からあなたがいる場所への相対パスをたどって、コマンドを1行にまとめることができるの:
# 私は Floor-3/Room-301 にいる
# 外に出て、外に出て、Floor-5/Room-502に向かう
cd ../../Floor-5/Room-502
ご存知の通り、この場合/
はパスの場所を区切るのに使われるの。
でも/
はルートディレクトリを意味するって習ったよ。
/
の前に何もない時は、ルートディレクトリを意味するの。
ルートディレクトリについて言及したから、絶対パスについて話しましょう。
上の例では、私たち二人ともビル-Aにいるから、相対パスで素早くあなたを見つけることができる。
でも、もし私たちが違う建物、違う都市、または違う国にいたらどうかしら?

あなたが日本 東京 通り-A ビル-A 1階 101号室にいるとして、
私がフランス パリ 通り-B ビル-B 2階 202号室にいるとしたら。
- 外に出ると、フランス パリ 通り-B ビル-B 2階にいる
- 外に出ると、フランス パリ 通り-B ビル-Bにいる
- 外に出ると、フランス パリ 通り-Bにいる
- 私は…
そんな風に続けてたら迷子になっちゃうよ。
そこで絶対パスが便利なの。cd /Japan/Tokyo/Street-A/Building-A/Floor-1/Room-101
であなたのところにテレポートするわ。
クロワッサン持ってきてくれる?
今日学んだことを覚えてる?まとめてもらえる?
ううん。
ううん。
あらあら〜、二人とも可愛いわね♪ はるお姉さんがちゃんとまとめてあ・げ・る!
- 相対パスは、あなたがいる場所から行きたい場所までのパスよ。同じ建物内の部屋から部屋への移動など、近くの場所に行く時に簡単なの。
- 絶対パスは常にルートから始まるわ。どこにいても場所を見つけるための完全な住所のようなものね。
cd
はディレクトリ変更、..
は「外」、そして/
はパスの場所を区切るのに使われるの。- そうそう、
/
の前に何もない時は、ルートディレクトリを意味するのよ。絶対パスは常に/
で始まるの。
もっと知りたい?ふふっ、向上心があっていいわね〜♪
pwd
は現在の作業ディレクトリを表示するの。現在の場所を示してくれるのよ。.
は現在のディレクトリを意味して、「ここにいます」と言うようなものね。~
はホームディレクトリを意味して、「私の家」と言うようなものよ。- あなたの
~/Downloads
フォルダには何があるかしら?きっと面白いものがあるのでしょうね〜♪ - 「パス」「ディレクトリ」「フォルダ」という言葉は、コンピューティングでしばしば同じ意味で使われるけれど、文脈によって微妙に異なる意味を持つことがあるの。でも心配しないで、慣れればすぐに分かるようになるわよ♪