Linuxでディレクトリ移動!絶対パスと相対パスとは?
「絶対パス」と「相対パス」。
ちゃんと理解していないと、混乱してしまうのですよね・・・。
そもそもパス(Path)とは、住所みたいなもの
それぞれのディレクトリやファイルがどこにあるのか、その情報のことをパス(Path)と言います。
例えば、以下のようなディレクトリ・ツリー構造の「hanako」というディレクトリのパスは
/home/hanako
になります。
「絶対パス」と「相対パス」
先ほど出てきた
/home/hanako
を例に話してみたいと思います。
一番左端の「/」(スラッシュ)は「ルートディレクトリ」を表しています。
そして、「ルートディレクトリ」から「home」ディレクトリをたどって、「hanako」に行き着いています。
下のイメージの「①」のルートですね。
このようにルートディレクトリからたどってパスを表現する方法を「絶対パス」と言います。
絶対パスとは別の方法もあります。
今いるディレクトリ(カレントディレクトリ)からたどっていく方法です。
それを「相対パス」と言います。
例えば、今、「/home/taro/test」(上のイメージの水色の網掛け)にいるとしましょう。
(この表現方法は絶対パスですね。)
そこから、ピンクの網掛けの「hanako」を表すには、
../../hanako
になります。
「..」はひとつ上の階層を表すものでしたね。
なので、「test」から2つ上の階層の「home」へ行って「hanako」へ行くというルートになります。
イメージ図の②のルートですね。
もし、「home」がカレントディレクトリであれば、
./hanako
でもいいですし、カレントディレクトリを表している「.」は省略可能ですので、
hanako
でもOKです。
イメージ出来ましたでしょうか?
相対パスは「..」や「.」の意味がわからないと混乱してしまうので、混乱しちゃったという方はこちらを参考にしてみてくださいね。